GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je trouver le nombre d'utilisateurs en ligne sous Linux ?

Classiquement, la commande est 'qui' plutôt que 'utilisateurs', mais 'qui' vous donne plus d'informations. En regardant les articles Unix originaux (milieu des années 70), l'exemple aurait été :

who | wc -l

L'utilisation de 'wc -l' compte les lignes de sortie - cela fonctionne avec les deux 'utilisateurs' et 'qui'. L'utilisation de '-w' ne fonctionne de manière fiable que lorsqu'il y a un mot par utilisateur (comme avec 'users' mais pas avec 'who').

Vous pouvez utiliser 'grep -c' pour compter les lignes. Étant donné que seuls les noms d'utilisateur non vides vous intéressent, vous pouvez :

who | grep -c .

Il y a toujours au moins un caractère sur chaque ligne.

Comme indiqué dans les commentaires de John T, le users la commande diffère de who à plusieurs égards. Le plus important est qu'au lieu de donner un nom par ligne, il répartit les noms plusieurs par ligne - je n'ai pas de machine avec suffisamment d'utilisateurs différents connectés pour tester ce qui se passe lorsque le nombre d'utilisateurs devient important. L'autre différence est que « qui » ​​rend compte des connexions de terminal en cours d'utilisation. Avec plusieurs fenêtres de terminal ouvertes, il affichera plusieurs lignes pour un seul utilisateur, alors que 'users' semble répertorier un utilisateur connecté une seule fois.

En conséquence de cette différence, le 'grep -c . ' la formulation ne fonctionnera pas avec la commande 'users' ; 'wc -w ' est nécessaire.


Vous recherchez le wc (nombre de mots).

Essayez ceci :

users | wc -w

Ouvrez un shell et tapez :

who -q

La dernière ligne vous donnera un décompte.

MODIFIER :

(soupir) J'ai mal compris la question. Voici une approche quelque peu brutale :

Pour voir les noms d'utilisateur uniques :

who | awk '{ print $1 }' | sort | uniq

Pour voir le nombre d'utilisateurs uniques :

who | awk '{ print $1 }' | sort | uniq | wc -l 

Linux
  1. Comment savoir si le disque est un SSD ou un disque dur sous Linux

  2. Comment utiliser la commande Linux find pour rechercher des fichiers

  3. Comment trouver tous les fichiers épars sous Linux

  4. Comment pouvez-vous trouver le numéro de processeur sur lequel un thread s'exécute ?

  5. Comment trouver la taille du tampon de socket de Linux

Comment trouver des utilisateurs actuellement connectés sous Linux

Comment trouver les derniers utilisateurs connectés sous Linux

Autorisations Linux - Comment trouver les autorisations d'un fichier

Comment trouver la taille totale d'un répertoire sous Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment trouver la liste des référentiels installés sous Linux