Der Befehl who
In diesem Beitrag lernen Sie den Befehl who kennen, welcher unter UNIX- / Linux-Betriebssystemen eingesetzt wird, um verschiedene Informationen zu lokal oder remote angemeldeten Benutzern abzurufen. Unter anderem kann etwa abgerufen werden, welcher Benutzer auf dem System angemeldet ist, worüber er angemeldet ist und wann die Anmeldung stattfand. Das Werkzeug ist damit insbesondere für Administratoren geeignet.
who ist Teil des essenziellen Pakets coreutils und damit auf allen Systemen bereits vorinstalliert.
Allgemeine Syntax
Die allgemeine Syntax von who lautet folgendermaßen:
who [Optionen]
Wird who alleinstehend ohne Argumente ausgeführt, so gibt er auf einer Zeile den aktuell angemeldeten Benutzer aus. Neben dem Benutzernamen werden standardmäßig Informationen zum Terminal, der Anmeldezeit sowie ein Kommentar ausgegeben.
Beispiel: who ohne Argumente
In diesem Beispiel wird der Befehl who ohne jegliche Argumente ausgeführt.
Eingabe:
who
Ausgabe:
In der Ausgabe sind von links nach rechts auf einer Zeile der Benutzername des aktuellen Benutzers, das verwendete Terminal, die Anmeldezeit und ein Kommentarfeld abzulesen.
hellberg tty2 2022-04-14 16:55 (:0)
Wichtige Optionen
In diesem Abschnitt werden die wichtigsten Optionen von who vorgestellt.
-a - Optionen kombinieren
Die Option -a kombiniert die Optionen -b, -d, --login, -p, -r, -t, -T, und -u:
who -a
Der obige Befehl ist damit äquivalent zu der folgenden Langform:
who -b -d --login -p -r -t -T -u
Beispiel: Option -a
Dieses Beispiel zeigt die Option -a zur Kombination der Optionen -b, -d, --login, -p, -r, -t, -T, und -u.
Eingabe:
who -a
Ausgabe:
Der ersten Zeile der Ausgabe ist der Zeitpunkt des Systemstarts zu entnehmen. In der zweiten Zeile ist die klassische Ausgabe von who zu sehen, ergänzt um den Nachrichtenstatus des Benutzers "hellberg", welcher in diesem Fall als Pluszeichen "+" hinter dem Namen angezeigt wird. Schließlich ist in der letzten Zeile der aktuelle Runlevel zu sehen (Runlevel 5).
Systemstart 2022-07-06 11:13
hellberg + tty2 2022-07-06 11:13 00:06 1393 (:0)
Runlevel 5 2022-07-06 11:14
-b - Rechnerstartzeit ausgeben
Wird die Option -b verwendet, so gibt who den Zeitpunkt des letzten Rechnerstarts aus:
who -b
Beispiel: Option -b
Die Anwendung der Option -b zur Ausgabe der Rechnerstartzeit wird in diesem Beispiel gezeigt.
Eingabe:
who -b
Ausgabe:
In der Ausgabe ist nun der Zeitpunkt des Systemstarts abzulesen.
Systemstart 2022-07-06 11:13
-d - Tote Prozesse ausgeben
Mithilfe der Option -d können tote Prozesse ausgegeben werden:
who -d
-H - Spaltenbeschriftungen ausgeben
Eine Zeile mit Spaltenbeschriftungen für die ausgegebenen Informationen kann mithilfe der Option -H ausgegeben werden:
who -H
Beispiel: Option -H
Mit der Option -H sollen in diesem Beispiel zusätzliche Spaltenbeschriftungen ausgegeben werden.
Eingabe:
who -H
Ausgabe:
Über der standardmäßigen Ausgabe von who werden nun die Beschriftungen "NAME", "LEITUNG", "ZEIT" und "KOMMENTAR" ausgegeben. Bei Verwendung von Optionen, die zur Anzeige weiterer Informationen führen, werden ebenfalls entsprechende Spaltenbeschriftungen für diese ausgegeben.
NAME LEITUNG ZEIT KOMMENTAR
hellberg tty2 2022-04-14 16:55 (:0)
-l - Login-Prozesse ausgeben
Die Login-Prozesse des Systems können mithilfe der Option -l ausgegeben werden:
who -l
-p - Aktive init-Prozesse ausgeben
Bei Verwendung der Option -p gibt who die aktiven Prozesse aus, die von init erzeugt wurden:
who -p
-q - Alle Anmeldenamen ausgeben
Mithilfe der Option -q können alle Anmeldenamen ausgegeben werden. Zusätzlich wird auch die Anzahl der angemeldeten Benutzer angezeigt.
who -q
Beispiel: Option -q
In diesem Beispiel wird die Ausgabe aller Anmeldenamen mit der Option -q gezeigt.
Eingabe:
who -q
Ausgabe:
In der ersten Zeile der Ausgabe werden die derzeit angemeldeten Benutzer (hier: "hellberg" und "bibo") auf einer Zeile ausgegeben, wobei einzelne Benutzernamen durch Leerzeichen voneinander getrennt werden. Die zweite Zeile zeigt zudem die Gesamtanzahl der derzeit angemeldeten Benutzer an - in diesem Fall 2.
hellberg bibo
# Benutzer=2
-r - Aktuellen Runlevel ausgeben
Für die Ausgabe des aktuellen Runlevel kann die Option -r verwendet werden:
who -r
Beispiel: Option -r
Der aktuelle Runlevel wird hier mithilfe der Option -r ausgegeben. Zuvor wurde von dem Runlevel 5 auf den Runlevel 3 gewechselt.
Eingabe:
who -r
Ausgabe:
In der Ausgabe ist nun der aktuelle Runlevel (hier: 3) sowie die letzte Änderungszeit bzw. die Startzeit dieses Runlevels zu sehen. Am Ende der Zeile wird mit "last" zudem der vorherige Runlevel angezeigt, welcher in diesem Fall 5 ist.
Runlevel 3 2022-07-06 11:52 last=5
-s - Kurze Ausgabe
Die standardmäßige kurze Ausgabe bestehend aus Namen, Terminal, Zeit und Kommentar ist auch mithilfe der Option -s zu erhalten:
who -s
-t - Systemzeit-Änderung ausgeben
Bei Angabe der Option -t gibt who die letzte Änderung der Systemzeit aus:
who -t
-T - Nachrichtenstatus ausgeben
Wird die Option -T angegeben, so fügt who den Nachrichtenstatus des Benutzers als Pluszeichen "+", Minuszeichen "-" oder Fragezeichen "?" an:
who -T
-u - Angemeldete Benutzer auflisten
Die angemeldeten Benutzer können mit der Option -u aufgelistet werden:
who -u
Abonniere JETZT unseren Newsletter!
Verpasse nie wieder neue Beiträge und exklusive Insider-Only-Inhalte!