Der Shell Befehl w ist eine BSD-Variante des Befehls who und gibt Auskunft über die Benutzer, die am System angemeldet sind. Die Kürze des Namens lässt erkennen, dass es sich um einen Befehl aus der Anfangszeit von Unix handelt, als nicht nur der Speicher knapp, sondern auch die Shells noch recht unkomfortabel waren. Der Shell Befehl w erschien zum ersten mal in BSD 3.0 im Jahr 1979.
Anders als sein Vorgänger who gibt w auch Informationen über die Aktivitäten der eingeloggten Benutzer, sowie allgemeine Systeminformationen wie Uptime und Systemlast aus. Wenn Sie den Shell Befehl w ohne weitere Argumente aufrufen, dann beginnt die Ausgabe mit einer Zeile mit allgemeinen Systeminformationen, gefolgt von einer Zeile mit den Spaltenüberschriften für die folgenden Informationen über die eingeloggten Benutzer.
Die ersten beiden Spalten der benutzerspezifischen Informationen sind beim Shell Befehl w, wie beim Kommando who, der Benutzername (USER) und der Name des Terminals, auf dem der Benutzer sich eingeloggt hat (TTY). Erfolgte das Login nicht an einem echten Terminal, sondern über ein Terminalprogramm, zum Beispiel xterm, oder über das Netz, dann erscheint hier ein sogenanntes Pseudoterminal. Ein Pseudoterminal ist ein softwaretechnischer Trick, durch den auch Programme, die ein Terminal benötigen, in solchen Umgebungen lauffähig sind.
Die Anzeige der dritten Spalte (FROM) kann beim Shell Befehl w über den Schalter -f ein- und ausgeschaltet werden. Hier sehen Sie, von wo das Login erfolgt ist. Bei Logins von lokalen Terminals erscheint hier ein Minuszeichen; bei Remote-Logins der FQDN, beziehungsweise so viel, wie davon in diese Spalte passt, und bei Anmeldungen über die grafische Benutzeroberfläche X Window System, der Display-Name, meist :0.0.
In der fünften Spalte erscheint beim Shell Befehl w der Zeitpunkt des Logins, dann folgen drei Spalten mit der Leerlaufzeit (IDLE), der verbrauchten CPU-Zeit aller mit dem jeweiligen Terminal verbundenen Prozesse (JCPU) und der CPU-Zeit des aktuell laufenden Prozesses (PCPU). Die Anzeige der Zeiten kann beim Shell Befehl w mit dem Schalter -s unterdrückt werden.
Die letzte Spalte (WHAT) zeigt schließlich das aktuell ausgeführte Programm mitsamt angegebener Argumente, soweit das in die verbleibende Spaltenbreite passt. Der Shell Befehl w bricht lange Zeilen nicht um sondern schneidet sie ab und verweigert die Arbeit ganz, wenn das Terminalfenster zu schmal für eine vollständige Anzeige ist.
Wollen Sie nur Informationen über einen bestimmten Nutzer, dann können Sie die Anzeige, beim Shell Befehl w, durch die Angabe des Loginnamens auf diesen einschränken.