Linux 中的 who
命令是一個命令列實用程式,用於顯示當前登入系統的使用者資訊。它能讓你快速瞭解哪些使用者登入了系統以及他們在做什麼。
who
命令的輸出通常包括使用者名稱、終端名稱(tty/pts)、登入日期和時間,以及使用者的遠端主機名稱(如果是從遠端位置登入)。
who
命令的一般語法:
$ who [OPTIONS...]
1. 顯示所有使用者資訊
who -a
使用 -a
選項可以檢視登入到當前系統的每個使用者的所有詳細資訊。
示例:
下面是 who -a
命令可能顯示的輸出示例:
system boot 2023-07-09 08:15 run-level 5 2023-07-09 08:15 LOGIN tty1 2023-07-09 08:15 420 id=tty1 username + pts/0 2023-07-09 10:18 . 1025 (192.168.1.10)
在此示例中:
system boot 2023-07-09 08:15
顯示系統上次啟動的時間。run-level 5 2023-07-09 08:15
顯示系統當前的執行級別以及上次更改的時間。執行級別 5 通常表示系統處於圖形使用者介面的多使用者模式。LOGIN tty1 2023-07-09 08:15 420 id=tty1
顯示指定時間在終端 tty1 上啟動的登入程序。數字420
是登入程序的程序 ID,id=tty1
是終端的識別符號。username + pts/0 2023-07-09 10:18 . 1025 (192.168.1.10)
顯示名為 username 的使用者在指定時間登入了偽終端pts/0
。+ 號表示允許使用者接收資訊。點(.
)表示使用者處於活動狀態。數字1025
是使用者 shell 的程序 ID,(192.168.1.10
) 是使用者登入的遠端主機的 IP 地址。
2. 顯示系統最後一次啟動時間
who -b
使用帶有 -b
選項的 who
命令列印系統最後一次啟動時間。
示例:
下面是 who -b
命令的輸出示例:
system boot 2023-07-09 08:17
在這個例子中:
system boot
表示所提供的資訊與系統啟動時間有關。2023-07-09 08:17
是系統最後一次啟動的日期和時間。
3. 列出所有登入使用者
who -q
該命令只顯示已登入使用者的名稱和已登入使用者的總數。選項 -q
代表 “快速”。
示例:
下面是 who -q
命令的輸出示例:
username1 username2 username3 # users=3
在此示例中:
username1
,username2
, 和username3
是當前登入系統的使用者名稱。# users=3
表示當前登入系統的使用者總數。
4. 檢查使用者的寫入許可權
who -T
Linux 中的 who -t
命令用於顯示上次系統啟動時間。選項 -t
代表 “時間”。
示例:
讓我們輸入 who -T
命令,在終端中顯示使用者狀態。
system boot 2023-07-09 08:15
在這個例子中:
system boot
表示系統最後一次啟動的時間。2023-07-09 08:15
是系統最後一次啟動的日期和時間。
5. 顯示所有死亡程序
who -d
Linux 中的 who -d
命令用於顯示已登入的使用者,但也包括由使用者啟動但當前處於 “死亡” 狀態的程序。這些程序由登入使用者啟動,但已不再與使用者會話相連。
示例:
輸入帶有 -d
選項的 who
命令,顯示所有死亡程序的詳細資訊。
username pts/0 2023-07-09 10:18 (192.168.1.10) username pts/1 2023-07-09 10:20 . 12345
在本例中:
- 第一行是普通使用者會話,類似於
who
命令的輸出。 - 第二行代表一個 “死亡” 程序。第四列中的
.
表示該程序不再與使用者會話相連。最後的數字12345
是死亡程序的程序 ID(PID)。
6. 顯示當前使用者的資訊
who -m
Linux 中的 who -m
命令用於顯示當前終端的資訊。-m
選項代表 “mesg”,是 “message” 的縮寫。它只顯示與當前終端有關的資訊。
示例:
下面是 who -m
命令的輸出示例:
username pts/0 2023-07-09 10:18
在此示例中:
username
是登入使用者的名稱。pts/0
是終端名稱。pts
代表偽終端從屬裝置。如果使用者通過物理終端登入,則應為tty
(電傳打字機)。2023-07-09 10:18
是使用者登入的日期和時間。
7. 顯示 INIT 程序產生的所有活動程序
who -p
who -p
命令顯示 init 系統生成的活動程序。不過,並非所有類 Unix 作業系統都提供此選項。
例如:
在可以使用該選項的系統上,可能會顯示類似下面的輸出:
run-level 3 2023-07-09 10:18
本例中:
run-level 3
表示系統當前的執行級別。執行級別是類似 Unix 的作業系統(如 Linux)執行時的一種狀態或模式。不同的執行級別有不同的用途,並用數字表示。例如,執行級別 3 通常表示系統處於聯網的多使用者模式(具體含義因系統而異)。2023-07-09 10:18
是設定當前執行級別的日期和時間。
8. 顯示當前 runlevel
who -r
Linux 中的 who -r
命令顯示系統當前的執行級別。執行級別是系統的一種狀態,它定義了使用者可以使用哪些服務和資源。
例如:
run-level 3 2023-07-09 10:18
在此示例中:
run-level 3
表示系統當前的執行級別。在本例中,執行級別是 3,這通常意味著系統處於多使用者模式,可以聯網(根據具體的 Linux 發行版本,執行級別會略有不同)。2023-07-09 10:18
是當前執行級別最後一次更改的日期和時間。
更多 Linux 命令
下面羅列了最常見的一些 Linux 命令,您可以根據自己的需要查閱對應命令的詳細解析:
目錄操作 | rmdir · cd · pwd · exa · ls |
檔案操作 | cat · cp · dd · less · touch · ln · rename · more · head |
檔案系統操作 | chown · mkfs · locate |
網路 | ping · curl · wget · iptables · mtr |
搜尋和文字處理 | find · grep · sed · whatis · ripgrep · fd · tldr |
系統資訊和管理 | env · history · top · who · htop · glances · lsof |
使用者和會話管理 | screen · su · sudo · open |
此外,我們還整理 Linux 命令列大全,以幫助大家全面深入地學習 Linux。
評論留言