Der Befehl who

who-featured

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!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: