LINUX是個多用戶系統,一旦連接到網絡中,它可以同時爲多個登錄用戶提供服務。系統管理員可以隨時瞭解系統中有那些用戶,用戶都在進行什麼操作。
一.查看用戶的操作
系統管理員若想知道某一時刻用戶的行爲,只需要輸入命令w即可,在SHELL終端中輸入如下命令:
[root@localhost ~]# w
14:04:54 up 1 day, 21:02, 3 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.19.20.233 14:02 2:30 0.03s 0.03s -bash
root pts/1 172.19.20.233 14:02 6.00s 0.03s 0.00s w
root pts/2 172.19.20.233 14:02 1:34 0.10s 0.10s -bash
[root@localhost ~]#
可以看到執行W命令及顯示結果。
命令信息含義
上述顯示的信息分別表示如下:
1.第一行顯示系統的彙總信息
字段分別表示:系統當前時間、系統運行時間、登陸服務器用戶總數、系統平均負載信息。
對於上述勢力中的幾個顯示數據意義爲:
14:04:54 : 表示執行W的時間是在下午2點4分。
1 day, 21:02 表示系統運行1天21小時。
3 users 表示當前系統登陸用戶總數爲3。
load average與後面的數字一起表示系統在過去1,5,10分鐘內的負載程度,數值越小,系統負載越輕。
2.第二行開始構成一個表格,共有8個欄目,分別顯示各個用戶正在做的事情及該用戶所佔用的系統資料
USER:顯示登陸用戶帳號名。用戶重複登陸,該帳號也會重複出現。
TTY:用戶登陸所用的終端。
FROM:顯示用戶在何處登陸系統。
LOGIN@:是LOGIN AT的意思,表示登陸進入系統的時間。
IDLE:用戶空閒時間,從用戶上一次任務結束後,開會記時。
JCPU:一終端代號來區分,表示在摸段時間內,所有與該終端相關的進程任務所耗費的CPU時間。
PCPU:指WHAT域的任務執行後耗費的CPU時間。
WHAT:表示當前執行的任務。
二.查看某用戶
當登陸系統用戶很多的時候,可以在W後面加上某個用戶名,則會查看該用戶執行任務的情況。
[root@localhost ~]# w root
14:14:01 up 1 day, 21:11, 3 users, load average: 0.05, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 172.19.20.233 14:02 11:37 0.03s 0.03s -bash
root pts/1 172.19.20.233 14:02 1.00s 0.03s 0.00s w root
root pts/2 172.19.20.233 14:02 10:41 0.10s 0.10s -bash
[root@localhost ~]#
默認情況下,系統會顯示上述所有的信息,如果只關心某一方面,可以只使用相關的選項。
三.查看用戶登錄歷史
last | head -n 5
[root@localhost ~]# last | head -n 5
root pts/2 172.19.20.233 Fri May 17 14:02 - 14:25 (00:23)
root pts/1 172.19.20.233 Fri May 17 14:02 still logged in
root pts/0 172.19.20.233 Fri May 17 14:02 still logged in
root pts/0 172.19.20.233 Fri May 17 14:00 - 14:01 (00:01)
root pts/2 27.154.242.142 Fri May 17 13:41 - 13:54 (00:13)
last
last
oracle pts/0 192.168.1.116 Mon Jul 1 15:18 still logged in
oracle pts/0 192.168.1.116 Tue Jun 25 17:39 - 18:04 (00:25)
oracle pts/0 192.168.1.116 Tue Jun 25 17:13 - 17:14 (00:00)
oracle pts/1 192.168.1.116 Tue Jun 25 15:05 - 15:07 (00:01)
oracle pts/0 192.168.1.116 Tue Jun 25 11:20 - 15:12 (03:51)
四.踢出用戶
#pts/0爲w指令看到的用戶終端號
pkill -KILL -t pts/0
五.查看當前登錄用戶
1.用戶說明:
who命令用於顯示誰登錄了系統(showwho is logged on),who am i與之相同。另外一個叫whoami的命令,只輸出用戶賬號。而who或者who ami不僅顯示賬號,還顯示終端文件名、時間、來源IP等。
2.常用方式
格式:who
格式:who am i
簡單顯示當前登錄系統用戶的信息,可以輕鬆的獲取當前登錄系統的用戶列表,包含使用終端登錄。
格式:who -a
格式:who -aH
顯示所有用戶的所有信息(The -aargument of the who command lists all available output for each user on yoursystem.)
-H參數表明顯示錶頭(顯示列標題)。
3.使用示例
[root@localhost ~]# who
root pts/0 2019-05-17 14:02 (172.19.20.233)
root pts/1 2019-05-17 14:02 (172.19.20.233)
root pts/2 2019-05-17 14:02 (172.19.20.233)
[root@localhost ~]# whoami
root
[root@localhost ~]# who am i
root pts/1 2019-05-17 14:02 (172.19.20.233)
[root@localhost ~]# who -a
系統引導 2019-05-15 17:02
登錄 tty1 2019-05-17 14:02 28183 id=tty1
運行級別 3 2019-05-15 17:03
root + pts/0 2019-05-17 14:02 00:21 28163 (172.19.20.233)
root + pts/1 2019-05-17 14:02 . 28189 (172.19.20.233)
root + pts/2 2019-05-17 14:02 00:20 28211 (172.19.20.233)
pts/3 2019-05-17 14:01 27649 id=ts/3 終端=0 退出=0
pts/4 2019-05-17 14:01 27763 id=ts/4 終端=0 退出=0
pts/5 2019-05-16 18:25 25426 id=ts/5 終端=0 退出=0
pts/6 2019-05-16 16:49 25268 id=ts/6 終端=0 退出=0
pts/7 2019-05-16 18:39 25822 id=ts/7 終端=0 退出=0
pts/8 2019-05-16 18:46 25590 id=ts/8 終端=0 退出=0
pts/9 2019-05-16 17:48 25848 id=ts/9 終端=0 退出=0
[root@localhost ~]#