Úvod
Správci systému Linux často potřebují přístup k informacím o aktuálně přihlášených uživatelích. Balíček GNU coreutils obsahuje who
příkaz, který poskytuje potřebné možnosti.
V tomto tutoriálu se naučíte, jak používat who
zobrazí seznam přihlášených uživatelů, zobrazí informace o době spouštění, procesy a další.

Předpoklady
- Systém se systémem Linux
- Přístup k příkazovému řádku
Linux, který řídí syntaxi
Syntaxe pro who
příkaz je:
who [options] [filename]
Pokud za příkazem a možnostmi nezadáte soubor, who
hledá informace o uživateli v /var/run/utmp
. Tento soubor je výchozím umístěním pro ukládání dat o přihlášeních uživatelů v systému Linux.
příklady příkazů koho
Níže uvedené sekce uvádí who
možnosti příkazů spolu s několika příklady.
Zobrazit informace o účtu
Pokud použijete who
bez možností zobrazí seznam přihlášených uživatelských jmen.
who

Stejného efektu dosáhnete pomocí -s
(--short
) možnost:
who -s
Vytisknout záhlaví sloupců
Použijte -H
(--heading
) možnost zobrazení názvů sloupců nad seznamem uživatelů:
who -H

Zobrazovat pouze název hostitele a uživatele spojeného s stdin
Chcete-li zobrazit pouze informace o aktuálním uživateli, použijte -m
flag nebo přidat dva libovolné argumenty do who
příkaz.
who am I
je populární příklad, ale jakákoli dvě slova dávají stejný výsledek.
who -m

Zobrazit dostupné terminály
Pro seznam dostupných terminálů použijte -l
(--login
) možnost:
who -l
Zobrazení času posledního spuštění systému
who
příkaz zobrazuje čas posledního spuštění systému při použití s -b
(--boot
) možnost:
who -b

Zobrazit všechna přihlašovací jména a počet přihlášených uživatelů
Chcete-li zobrazit uživatelská jména a počet uživatelů aktuálně přihlášených do systému, přidejte -q
(--count
) možnost:
who -q

Přidat stav zprávy uživatele
Zobrazte stav zprávy uživatele pomocí -T
možnost zkontrolovat oprávnění pro psaní zpráv na váš terminál. Případně použijte -w
nebo --mesg
k dosažení stejného výsledku:
who -T

Možné stavy zpráv jsou:
+
– Uživatel má oprávnění zapisovat do terminálu.-
– Uživatel nemá oprávnění k zápisu do terminálu.?
– Nelze najít koncové zařízení.
Tisk aktivních procesů vytvořených Init
Použijte who
pro zobrazení seznamu aktivních procesů vytvořených init, démonem, který se spouští během procesu spouštění.
Chcete-li toho dosáhnout, přidejte -p
(--process
) možnost:
who -p
Tisk mrtvých procesů
Pro seznam mrtvých procesů použijte -d
(--dead
) možnost:
who -d
Pokud existují mrtvé procesy, terminál vytiskne výstup podobný tomuto:
[email protected]:~$ who -d
pts/3 2021-01-13 20:22 37405 id=ts/3 term=0 exit=0
pts/4 2021-01-17 10:55 67165 id=ts/4 term=0 exit=04
Zobrazit aktuální úroveň běhu
Pro tisk aktuální úrovně běhu systému použijte who
s -r
(--runlevel
)
who -r

Zobrazit poslední změnu systémových hodin
-t
(--time
) možnost vytiskne poslední změnu systémových hodin:
who -t
Zobrazit dobu nečinnosti
-u
možnost (--users
) ukazuje, jak dlouho byl každý z uživatelů nečinný:
who -u

Vynutit, kdo má vytisknout všechny informace
Použijte who
pomocí -a
(--all
) možnost vytisknout výstup obsahující informace poskytnuté pomocí -b
, -d
, -l
, -p
, -r
, -t
, -T
a -u
možnosti:
who -a

-a
příznak je vhodný, když nechcete používat samostatné volby pro tisk různých dat.