who

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Hinweis:

Dieser Artikel beschreibt die alte Implementation des Programms. Ab Ubuntu 24.04 ist auch mit Paket rust-coreutils 🇬🇧 eine neue Implementierung in der Programmiersprache Rust für Ubuntu verfügbar, und ab Ubuntu Version 25.10 wird die Implementierung in Rust als Standard bevorzugt.

Die Implementierung in Rust strebt Funktionsgleichheit mit der alten Implementierung an. Es können aber kleine Abweichungen auftreten. Dies bedeutet, dass das hier Beschriebene von der am eigenen Rechner vorgefundenen Situation abweichen kann.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. ⚓︎ Ein Terminal öffnen

Inhaltsverzeichnis
  1. Installation
  2. Benutzung
    1. Optionen
    2. Dateien
  3. Beispiel
  4. Links

Wiki/Icons/terminal.png Mit dem Befehl who ist es möglich, eine Vielzahl an Informationen über sowohl lokal als auch remote angemeldete Benutzer zu erhalten. Der Befehl gibt dabei aus:

Hinweis:

Unter 25.10 und 26.04 bringt who keine Ausgabe. Dabei ist es egal, ob die gnu-coreutils

oder rust-coreutils aktiv sind.

Man kann sich evtl. mit w behelfen, wobei das aber auch nicht fehlerfrei arbeitet:

Installation

 

Benutzung

Die Syntax von who ist recht einfach [1]

who <Option(en)> [Dateiname] 

Sowohl die Option(en) als auch der Dateiname sind dabei optional.

Optionen

who kennt folgende Optionen:

Option Beschreibung
-a oder --all Alle Optionen
-b oder --boot Zeitpunkt des letzten Systemstarts
-d oder --dead Inaktive Prozesse ausgeben
-H oder --heading Beschriftet die Spalten der Ausgabe.
--ips Die IPs statt der Rechnernamen ausgeben.
-l oder --login Loginprozesse des Systems ausgeben.
--lookup Rechnernamen der remote User werden ausgegeben.
-m Gibt Informationen über den Benutzer aus, der am Terminal angemeldet ist.
-p oder --process Aktive Prozesse anzeigen
-q oder --count Gibt die angemeldeten Benutzer durchnummeriert aus.
-r oder --runlevel Der aktuelle Runlevel wird ausgegeben.
-s oder --short Name, Leitung und Zeit werden ausgegeben.
-t oder --time Zeitpunkt der letzten Änderung der Systemuhr wird ausgegeben.
-T, -w Gibt aus, ob man den angemeldeten Benutzer über mesg kontaktieren kann.
--writeable oder --message Dasselbe wie -T
-u oder --users Alle angemeldeten User auflisten.
--help Hilfe zum Befehl wird ausgegeben.
--version Versionsinformationen

Dateien

Im Folgenden einige Dateien inklusive voller Pfadangabe, die in Kombination mit who interessante Informationen liefern können:

Datei Beschreibung
/var/run/utmp Angaben über aktuell angemeldete Benutzer (Default)
/var/log/wtmp Angaben über vergangene Anmeldungen
/var/log/btmp Angaben über missglückte Anmeldungen

Beispiel

Der Befehl

$ who --all -H 

kann z.B. folgende Ausgabe erzeugen:

NAME       LEITUNG      ZEIT                          PID KOMMENTAR EXIT
           system boot  2007-05-23 15:58
           Runlevel 2   2007-05-23 15:58                   last=
LOGIN      tty4         2007-05-23 15:58              4570 id=4
LOGIN      tty5         2007-05-23 15:58              4571 id=5
LOGIN      tty2         2007-05-23 15:58              4576 id=2
LOGIN      tty3         2007-05-23 15:58              4577 id=3
LOGIN      tty1         2007-05-23 15:58              4578 id=1
LOGIN      tty6         2007-05-23 15:58              4579 id=6
user     ? :0           2007-05-23 15:59   ?          5749
user     + pts/0        2007-05-23 16:40   .          7954 (:0.0)