Who (Unix)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Who ist ein klassischer Befehl unter Unix-Betriebssystemen, der eine Liste der zur Zeit auf dem System angemeldeten Benutzer anzeigt. who ist in der Single Unix Specification standardisiert. Die GNU-Implementierung ist Element der GNU core utilities.

Geschichte

Who gehört zu den historisch ältesten Befehlen in Unix-Umgebungen. Da der Befehl aus einer Zeit vor grafischen Benutzeroberflächen datiert, ist die Anzeige auf manchen Plattformen insofern nicht vollständig, als virtuelle X11-Terminals wie xterm nicht berücksichtigt werden.

Mit der Standardisierung durch die Single Unix Specification wurde festgelegt, dass who mindestens eine Liste über die angemeldeten Benutzer ausgeben soll. Die XSI-Erweiterung sieht zudem vor, dass auch Daten über den Benutzernamen, das verwendete Terminal, die Uhrzeit des Logins, die Prozess-ID der Login-Shell sowie die Zeit seit der letzten Aktivität im Terminal (Idle-Zeit) ausgegeben werden soll.

Beispiel

Der Aufruf von who unter einem Linux-System, auf dem der Benutzer bob auf mehreren virtuellen Terminals eingeloggt ist, könnte so aussehen:

$ who
bob     pts/1        2008-05-18 00:30 (p57a6d3a7:S.0)
bob     pts/2        2008-07-20 18:18 (p57a6d3a7:S.1)
bob     pts/4        2008-05-18 22:59 (p57a6d3a7:S.3)
bob     pts/3        2008-05-18 00:53 (p57a6d3a7:S.2)
bob     pts/5        2008-07-26 23:20 (p57a6d3a7:S.4)

Dabei gibt die erste Spalte den Benutzernamen wieder, die zweite den des Login-Terminals, die dritte die Login-Zeit und dahinter, in Klammern, von welchem Host der Benutzer verbunden ist (über SSH)

Alternativen

Das who-Kommando ähnelt dem Unix-Kommando w, welches zu den Informationen von who auch noch zusätzliche Daten ausgibt, wie z.B. das von jedem Benutzer zuletzt ausgeführte Kommando.

Wenn who mit den Parametern am i aufgerufen wird, gibt es das gleiche wie das Unix-Kommando whoami aus, und zwar den Namen des angemeldeten Benutzers.

Siehe auch