In questo articolo spieghiamo il who
comando incluso nel pacchetto GNU coreutils.
who
è un'utilità della riga di comando che stampa un elenco degli utenti attualmente connessi. Può anche mostrare il livello di esecuzione corrente, l'ora dell'ultimo avvio del sistema e altro.
Come utilizzare il who
Comando #
La sintassi di base per who
il comando è il seguente:
who [OPTION]... [ FILE | ARG1 ARG2 ]
Quando viene richiamato senza alcuna opzione o argomento, l'output è simile a questo:
who
root pts/0 2020-11-17 20:10 (10.10.0.2)
linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
who
produrrà un elenco formattato di tutti gli utenti che sono attualmente collegati al sistema.
Ogni riga contiene quattro campi separati da uno o più spazi:
- Il nome dell'utente registrato.
- Il terminale dell'utente.
- L'ora in cui l'utente ha effettuato l'accesso.
- Il nome host o l'indirizzo IP da cui l'utente ha effettuato l'accesso. Per forzare Ips, utilizzare il
--ips
opzione.
Se vuoi stampare le intestazioni delle colonne, aggiungi il -H
(--heading
) opzione:
who -H
NAME LINE TIME COMMENT
root pts/0 2020-11-17 20:10 (10.10.0.2)
linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
Il comando estrae informazioni sul sistema e su chi ha effettuato l'accesso da /var/run/utmp
file. Se vuoi usare un altro file, passa il percorso del file al comando.
who
accetta due argomenti non opzionali. Quando viene invocato con due argomenti, il comando stampa informazioni solo sul terminale associato all'utente corrente. Lo stesso output viene visualizzato quando -m
viene utilizzata l'opzione.
Puoi utilizzare due argomenti qualsiasi:
who am i
who mom love
who foo bar
who -m
Ciascuno dei comandi precedenti stamperà le stesse informazioni:
linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
who
Opzioni di comando #
who
accetta diverse opzioni che generalmente vengono utilizzate raramente.
Il -b
, --boot
l'opzione dice a who
per stampare l'ora dell'ultimo avvio del sistema:
who -b
system boot 2020-07-20 19:02
Per ottenere un elenco di tutti i processi morti usa -d
, --dead
opzione:
who -d
Il -r
, --runlevel
opzione, dice a who
per mostrare il runlevel corrente:
who -r
run-level 5 2020-07-20 19:02
Per ottenere solo i nomi utente e il numero di utenti attualmente collegati, utilizzare il -q
, --count
opzione:
who -q
root linuxize
# users=2
Il -a
, --all
l'opzione forza who
per stampare tutte le informazioni:
who -a
system boot 2020-07-20 19:02
LOGIN tty1 2020-07-20 19:02 673 id=tty1
run-level 5 2020-07-20 19:02
root - pts/0 2020-11-17 20:10 . 2212314 (89.205.101.54)
pts/2 2020-10-10 10:19 1363538 id=ts/2 term=0 exit=0
linuxize + pts/1 2020-11-17 20:11 01:46 2212387 (89.205.101.54)
Conclusione #
Il who
comando stampa un elenco di tutti gli utenti attualmente connessi.
Per ottenere ulteriori informazioni sugli utenti che hanno effettuato l'accesso, controlla il w
comando.
Se hai domande, lascia un commento qui sotto.