In diesem Artikel erklären wir den who
Befehl, der im Paket GNU coreutils gebündelt ist.
who
ist ein Befehlszeilendienstprogramm, das eine Liste der derzeit angemeldeten Benutzer druckt. Es kann auch den aktuellen Runlevel, die Uhrzeit des letzten Systemstarts und mehr anzeigen.
So verwenden Sie who
Befehl #
Die grundlegende Syntax für who
Befehl lautet wie folgt:
who [OPTION]... [ FILE | ARG1 ARG2 ]
Wenn es ohne Option oder Argument aufgerufen wird, sieht die Ausgabe ungefähr so aus:
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
gibt eine formatierte Liste aller Benutzer aus, die derzeit im System angemeldet sind.
Jede Zeile enthält vier Felder, die durch ein oder mehrere Leerzeichen getrennt sind:
- Der Name des angemeldeten Benutzers.
- Das Endgerät des Benutzers.
- Die Uhrzeit, zu der sich der Benutzer angemeldet hat.
- Der Hostname oder die IP-Adresse, von wo aus der Benutzer angemeldet ist. Um Ips zu erzwingen, verwenden Sie den
--ips
Möglichkeit.
Wenn Sie die Spaltenüberschriften drucken möchten, fügen Sie das -H
hinzu (--heading
) Option:
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)
Der Befehl holt Informationen über das System und wer angemeldet ist aus /var/run/utmp
Datei. Wenn Sie eine andere Datei verwenden möchten, übergeben Sie den Dateipfad an den Befehl.
who
akzeptiert zwei Nicht-Optionsargumente. Wenn der Befehl mit zwei Argumenten aufgerufen wird, gibt er nur Informationen über das Terminal aus, das dem aktuellen Benutzer zugeordnet ist. Die gleiche Ausgabe wird angezeigt, wenn -m
Option verwendet wird.
Sie können zwei beliebige Argumente verwenden:
who am i
who mom love
who foo bar
who -m
Jeder der obigen Befehle gibt die gleichen Informationen aus:
linuxize pts/1 2020-11-17 20:11 (10.10.0.8)
who
Befehlsoptionen #
who
akzeptiert mehrere Optionen, die im Allgemeinen selten verwendet werden.
Das -b
, --boot
Option sagt who
um die Uhrzeit des letzten Systemstarts auszudrucken:
who -b
system boot 2020-07-20 19:02
Um eine Liste aller toten Prozesse zu erhalten, verwenden Sie -d
, --dead
Möglichkeit:
who -d
Das -r
, --runlevel
Option, teilt who
mit um den aktuellen Runlevel anzuzeigen:
who -r
run-level 5 2020-07-20 19:02
Um nur die Benutzernamen und die Anzahl der aktuell angemeldeten Benutzer zu erhalten, verwenden Sie das -q
, --count
Möglichkeit:
who -q
root linuxize
# users=2
Das -a
, --all
Option erzwingt who
um alle Informationen auszudrucken:
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)
Schlussfolgerung #
Der who
Befehl druckt eine Liste aller derzeit angemeldeten Benutzer.
Um zusätzliche Informationen über die derzeit angemeldeten Benutzer zu erhalten, überprüfen Sie das w
Befehl.
Wenn Sie Fragen haben, hinterlassen Sie bitte unten einen Kommentar.