w (Unix)

w je jeden ze základních příkazů operačního systému Unix. Slouží k zobrazení seznamu přihlášených uživatelů.

Program zobrazí terminál přihlašovacího shellu (TTY), označení počítače, z něhož jsou přihlášeni (jen u vzdálených přihlášení), čas přihlášení (LOGIN@), čas od poslední zaznamenané aktivity uživatele (IDLE) a dva časy (JCPU je čas skutečného běhu všech existujících procesů na dané konzoli, PCPU je čas běhu procesu z posledního sloupce). Všechny časy, není-li určeno jinak, jdou v minutách. Poslední sloupec ukazuje jméno aktuálně prováděného příkazu (běžícího na popředí).

Historie

Příkaz w vznikl v dobách, kdy všechny programy byly textové a uživatelé se systémem komunikovali převážně jen pomocí shellu. Proto program zobrazoval uživatele podle záznamů, jež vytvářejí procesy gettylogin v souboru /var/run/utmp a preferuje procesy běžící na popředí (tj. ty které používají terminál pro svůj interaktivní vstup a výstup).

Současnost

V současnosti, kdy většina uživatelů používá graficky orientovaných aplikací na platformě X-Window mohou být některé údaje zavádějící a jiné neúplné. Za prvé je zcela dobrovolné zda proces s funkcí původního přihlašovacího shellu (správce interaktivního terminálu) zaznamená svou existenci do /var/run/utmp, což je soubor, z něhož program w čerpá další informace.

Ukázka

Ukázka výstupu programu w:

$ w
 11:12am up 608 day(s), 19:56,  6 users,  load average: 0.36, 0.36, 0.37
 User     tty       login@  idle  what
 smithj   pts/5      8:52am       w
 jonesm   pts/23    20Apr06    28 -bash
 harry    pts/18     9:01am     9 pine
 peterb   pts/19    21Apr06       emacs -nw html/index.html
 janetmcq pts/8     10:12am 3days -csh
 singh    pts/12    16Apr06  5:29 /usr/bin/perl -w perl/test/program.pl