who 命令的解釋與示例
這裡是一個關於理解 Linux 中 who 命令的初學者指南,並帶有幾個例子。
這篇文章是 Linux 命令學習系列的一部分。
who 命令
Linux 中的 who
命令用於顯示當前登錄到系統中的用戶的信息。它顯示用戶的登錄名,用戶登錄的終端,用戶登錄的時間,以及遠程主機名(如果有)。
語法
下面是 who
命令的基本語法:
who [OPTION]... [ FILE | ARG1 ARG2 ]
各種 who 命令和開關的例子
默認情況下,who
讀取文件 /var/run/utmp
,其中包含當前登錄的用戶的信息。如果沒有指定選項,它會顯示每個用戶的登錄名、終端和登錄時間。
who
它給出了以下輸出。你可以看到它顯示了登錄名是 debugpoint
,終端 ID tty2
和登錄的日期和時間。
debugpoint tty2 2023-01-01 11:22 (tty2)
然而,如果你在虛擬機中運行上述命令,你應該看到同樣的情況,但終端 ID 將是 x11 伺服器的顯示名稱,即 :0
。
❯ who
debugpoint :0 2023-01-01 23:36 (:0)
要顯示當前用戶的用戶名和信息,使用下面的方法:
whoami
使用 -b
選項查看最後一次系統啟動時間:
❯ who -b
system boot 2023-01-01 23:36
顯示當前系統中登錄的用戶數:
❯ who -q
debugpoint
users=1
所有上述命令與 -H
選項配對時,你會有一個更好的含標題行的信息,如下所示:
who -H
NAME LINE TIME COMMENT
debugpoint tty2 2023-01-01 11:22 (tty2)
如果你想在 Linux 中顯示與 who
命令有關的所有信息,請使用選項 -a
:
who -aH
NAME LINE TIME IDLE PID COMMENT EXIT
system boot 2023-01-01 11:19
run-level 5 2023-01-01 11:19
debugpoint + tty2 2023-01-01 11:22 13:26 2042 (tty2)
像往常一樣,你可以使用下面的重定向將 who
命令的輸出保存到任何文件:
who > user_details.txt
who 命令選項的例子總結
下面是一些 who
命令的例子和它們的解釋:
下面是一些可以與 who
命令一起使用的選項:
-a
: 顯示每個用戶的主機名、登錄時間和進程-b
: 顯示上次系統啟動的時間-d
: 顯示死進程(已終止但未從 utmp 文件中刪除的進程)-H
: 顯示標題行-l
: 顯示長格式的登錄進程-m
: 只顯示在ARG1 ARG2
指定的終端上登錄的用戶的名字和行。-q
: 顯示已登錄用戶的數量-u
: 顯示擁有未脫離進程的用戶的信息-w
: 顯示已經登錄的用戶信息,格式與 utmp 文件相同
總結
我希望這篇文章能夠幫助你了解 who
命令及其基本原理。你也可以閱讀 who 手冊頁來了解更多。如果你有任何問題,請告訴我。
via: https://www.debugpoint.com/who-command-linux/
作者:Arindam 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive