who (Unix)
who ist ein klassischer Befehl unter Unix-Betriebssystemen, der eine Liste der zurzeit auf dem System angemeldeten Benutzer anzeigt. who ist in der Single UNIX Specification als erforderliche Komponente vorgeschrieben nebst seinem erwartbaren Verhalten. 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 wie das Unix-Kommando whoami den Namen des angemeldeten Benutzers aus, allerdings zusätzlich auch den Terminalnamen, die Zeit des Logins und den Rechnernamen von dem das Login kommt.
Weblinks
who
: display who is on the system – Open Group Base Specificationwho(1)
: display who is logged in – OpenBSD General Commands Manualwho(1)
: anzeigen, wer angemeldet ist – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseitew(1)
: Zeigt an, wer am System angemeldet ist und was sie/er gerade tut – Debian GNU/Linux Ausführbare Programme oder Shell-Befehle Handbuchseite