GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso trovare il numero di utenti online in Linux?

Classicamente, il comando è 'chi' piuttosto che 'utenti', ma 'chi' fornisce maggiori informazioni. Guardando indietro agli articoli Unix originali (metà degli anni '70), l'esempio sarebbe stato:

who | wc -l

L'uso di 'wc -l' conta le righe di output - funziona con sia 'users' che 'chi'. L'uso di '-w' funziona in modo affidabile solo quando c'è una parola per utente (come con 'users' ma non con 'who').

Puoi usare 'grep -c' per contare le linee. Dato che sei interessato solo a nomi utente non vuoti, potresti fare:

who | grep -c .

C'è sempre almeno un carattere su ogni riga.

Come notato nei commenti di John T, il file users comando differisce da who sotto diversi aspetti. Il più importante è che invece di dare un nome per riga, distribuisce i nomi diversi per riga:non ho una macchina con un numero sufficiente di utenti diversi connessi per verificare cosa succede quando il numero di utenti aumenta. L'altra differenza è che "chi" segnala le connessioni terminali in uso. Con più finestre di terminale aperte, mostrerà più righe per un singolo utente, mentre "utenti" sembra elencare un utente che ha effettuato l'accesso solo una volta.

Come conseguenza di questa differenza, il file 'grep -c . ' la formulazione non funzionerà con il comando 'users'; 'wc -w ' è necessario.


Stai cercando il wc (conteggio parole) comando.

Prova questo:

users | wc -w

Apri una shell e digita:

who -q

L'ultima riga ti darà un conteggio.

MODIFICA:

(sospiro) Ho frainteso la domanda. Ecco un approccio un po' forzato:

Per visualizzare i nomi utente univoci:

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

Per vedere un conteggio di utenti unici:

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

Linux
  1. Come scoprire se il disco è SSD o HDD in Linux

  2. Come utilizzare il comando trova di Linux per trovare i file

  3. Come puoi trovare il numero del processore su cui è in esecuzione un thread?

  4. Come trovare la dimensione del buffer del socket di Linux

  5. Come posso trovare i file di intestazione del linguaggio di programmazione C in Linux?

Come trovare gli utenti attualmente registrati in Linux

Come trovare gli ultimi utenti che hanno effettuato l'accesso in Linux

Autorizzazioni Linux:come trovare le autorizzazioni di un file

Come trovare la dimensione totale di una directory in Linux

Come trovare file con il comando fd in Linux

Come trovare l'elenco dei repository installati in Linux