Introduzione
In questo articolo, spieghiamo il comando who
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 (runlevel), l'ora dell'ultimo avvio del sistema e altro.
Come utilizzare il comando who
La sintassi di base per il comando who
è la seguente:
who [OPTION]... [ FILE | ARG1 ARG2 ]
Quando invocato senza alcuna opzione o argomento, l'output è simile al seguente:
who
root pts/0 2020-11-18 21:20 (10.10.0.2)
noviello pts/1 2020-11-18 21:11 (10.10.0.8)
who
produrrà un elenco formattato di tutti gli utenti attualmente connessi 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 l'Ips, utilizzare l'opzione
--ips
.
Se vuoi stampare le intestazioni delle colonne, aggiungi l'opzione -H
(--heading
):
who -h
NAME LINE TIME COMMENT
root pts/0 2020-11-18 21:10 (10.10.0.2)
noviello pts/1 2020-11-18 21:11 (10.10.0.8)
Il comando estrae le informazioni sul sistema e su chi ha effettuato l'accesso dal file /var/run/utmp
. Se desideri utilizzare un altro file, passa il percorso del file al comando.
who
accetta due argomenti non opzionali. Quando viene richiamato con due argomenti, il comando stampa solo le informazioni sul terminale associato all'utente corrente. Lo stesso output viene visualizzato quando viene utilizzata l' opzione -m
.
Puoi usare due argomenti qualsiasi:
who am i
Ciascuno dei comandi precedenti stamperà le stesse informazioni:
noviello pts/1 2020-11-18 21:11 (10.10.0.8)
Opzioni di comando who
who
accetta diverse opzioni che generalmente vengono utilizzate raramente.
L'opzione -b
, --boot
dice al comando who
di stampare l'ora dell'ultimo avvio del sistema:
who -b
system boot 2020-07-21 19:02
Per ottenere un elenco di tutti i processi morti utilizzano l'opzione-d
, --dead
:
who -d
L'opzione -r
, --runlevel
, dice all comando who
di mostrare il runlevel corrente:
who -r
run-level 5 2020-07-21 20:02
Per ottenere solo i nomi utente e il numero di attualmente gli utenti registrati, utilizzare l'opzione -q
, --count
:
who -q
root noviello
# users=2
L' opzione -a
, --all
forza l'output di tutte le informazioni:
who -a
system boot 2020-07-21 17:02
LOGIN tty1 2020-07-21 17:02 673 id=tty1
run-level 5 2020-07-21 17:02
root - pts/0 2020-11-18 21:10 . 2212314 (89.205.111.11)
pts/2 2020-10-11 11:19 1363538 id=ts/2 term=0 exit=0
noviello + pts/1 2020-11-18 21:12 02:46 2212387 (89.205.111.11)
Conclusione
Il comando who
stampa un elenco di tutti gli utenti attualmente connessi.
Per ottenere ulteriori informazioni sugli utenti attualmente connessi, controlla il comando w
.