who是顯示當前登錄到計算機的用戶列表的標準 Unix 命令。

Linux系統who命令執行結果

who與命令w有關:w提供相同的信息,但也顯示額外的數據和統計信息。

規範 編輯

單一Unix規範(SUS)要求who應列出有關可訪問用戶的信息。 XSI 擴展也要求應列出用戶名、終端、登錄時間、進程 ID 和自上次活動以來的時間等其他數據;此外,用於用戶信息的備用系統數據庫可指定為who的可選參數。

該命令可以附加參數am iam I(即who am i),來調用顯示有關當前終端的信息(請參閱命令tty和-m選項,同該調用是等效的)。

用法 編輯

無擴展的SUS僅指定以下的-m-T-u選項,所有其他選項都在XSI擴展中指定:

-a,使用-b,-d,-l,-p,-r,-t,-T和-u處理用於用戶信息的系統數據庫。
-b,顯示系統上次重新啟動的時間
-d,顯示殭屍進程及相關細節
-H,顯示列標題
-l,顯示用戶可以登錄的終端
-m,僅顯示有關當前終端的信息
-p,顯示活動進程
-q,快速格式,僅顯示名稱和所有登錄用戶的數量,禁用所有其他選項;相當於用戶命令行實用程序
-r,顯示init進程的運行級別。
-s(默認)僅顯示名稱,終端和時間詳細信息
-t,顯示系統時鐘最後更改的時間
-T,以標準格式顯示每個終端的詳細信息
-u,顯示空閒時間;XSI顯示用戶登錄並顯示終端是否最近使用過的信息

其他Unix和類Unix操作系統可能會添加額外的選項。GNU who包含-i選項(同-u類似)和-w選項(顯示列出的用戶是否接受消息,SUS 在指定-T時顯示此消息),但GNU who和BSD版本都省略了上述的一些選項(如-a,-b,-d等);GNU 版本反而使用 -l 來嘗試通過 DNS 查驗主機名。

輸出 編輯

沒有擴展名的SUS指定輸出格式為「實現定義」(Implementation-defined)。 XSI擴展指定了一種格式,但它沒有完全指定: 分隔符和字段長度沒有精確指定。 因此,Unix實現中輸出的格式差別很大。

另請參見 編輯

外部連結 編輯