在多用戶的 Linux 系統(tǒng)中,有時(shí)候會(huì)有查詢當(dāng)前已登錄到系統(tǒng)中用戶的需求。 比如因某種原因要注銷某個(gè)用戶。
今天我們簡(jiǎn)單介紹下在 Linux 系統(tǒng)中列出登錄用戶的幾種方法。
我們所介紹的這幾個(gè)方法中,幾乎所有命令都依賴存在于 /var 或者 /proc 目錄中的數(shù)據(jù)。 如果你對(duì)Linux 中的目錄結(jié)構(gòu)稍有了解,就會(huì)知道這兩個(gè)目錄包含有關(guān)系統(tǒng)上正在運(yùn)行的進(jìn)程的數(shù)據(jù)。
1,使用 w 命令查看 Linux 系統(tǒng)中的登錄用戶
這是個(gè)最簡(jiǎn)單的方法,只需鍵入一個(gè)字母命令,即可查詢出當(dāng)前系統(tǒng)中登錄的用戶。
w
如下是 w 命令的輸出:
$ w
09:54:54 up 26 min, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 202.91.87.114 09:37 21.00s 0.00s 0.00s -bash
abhi pts/1 202.91.87.114 09:47 0.00s 0.00s 0.00s w
rohini pts/2 157.43.53.142 09:48 6:13 0.00s 0.00s -bash
我們對(duì)上面的輸出做個(gè)簡(jiǎn)單的解釋,在其他命令中也會(huì)涉及到這些。
上述輸出中,**TTY **顯示用戶用戶登錄的終端信息,其中 **pts **表示偽終端從屬,即通過 ssh 連接登錄的。
后面幾列分別顯示用戶計(jì)算機(jī)的 IP 地址、登錄時(shí)間以及空閑時(shí)間(idle)。
**JCPU **是連接到 **TTY **的所有進(jìn)程所用的時(shí)間,**PCPU **是用戶運(yùn)行的當(dāng)前進(jìn)程所用時(shí)間。 **WHAT **一列即顯示當(dāng)前進(jìn)程。
2,使用 who 命令查看登錄用戶
查詢登錄用戶,who 命令也是一個(gè)常用的方法,且使用起來(lái)也很簡(jiǎn)單。
who
其輸出如下所示:
$ who
root pts/0 Aug 6 09:37 (202.91.87.114)
abhi pts/1 Aug 6 09:47 (202.91.87.114)
rohini pts/2 Aug 6 09:48 (157.43.53.142)
3,使用 users 命令
上面的兩種方法,w 命令和 who 命令,都會(huì)顯示當(dāng)前登錄用戶的詳細(xì)信息(比如終端、IP地址、登錄時(shí)間等)。 有時(shí)候你可能只想要其用戶名稱(比如要寫某個(gè)腳本),使用 w 或者 who 命令后,還需要對(duì)其輸出進(jìn)行解析,這是一個(gè)額外的工作。 那么,有沒有辦法只獲取用戶的登錄名呢? 答案是肯定的,那就是使用 users 命令。 如下所示:
$ users
abhi rohini root
4,使用 finger 命令
finger 命令并沒有在所有 Linux 發(fā)行版中都被預(yù)先安裝,所以在使用之前需要手動(dòng)安裝。 比如在 Ubuntu 中可以使用如下命令安裝:
sudo apt install finger
安裝完成后,即可直接使用 finger 命令來(lái)查看當(dāng)前系統(tǒng)中登錄的用戶列表:
finger
其輸出如下所示:
$ finger
Login Name Tty Idle Login Time Office Office Phone
abhi Abhishek pts/1 Aug 6 09:47 (202.91.87.114)
rohini Rohini Rachita pts/2 13 Aug 6 09:48 (157.43.53.142)
root root *pts/0 Aug 6 09:37 (202.91.87.114)
其他:查看上次重啟后,都有誰(shuí)登錄了系統(tǒng)
上面我們介紹的方法是查詢當(dāng)前正在登錄到系統(tǒng)中的用戶,那么有沒有方式查詢都有誰(shuí)登錄過系統(tǒng)呢?
last 命令可以顯示系統(tǒng)自上次重啟以來(lái),都有哪些用戶登錄過系統(tǒng)(包括當(dāng)前正在登錄的,以及已經(jīng)注銷的用戶)。 對(duì)于注銷用戶,還顯示其登錄時(shí)間和注銷時(shí)間。
last
其輸出如下所示:
$ last
rohini pts/3 157.43.53.142 Tue Aug 6 10:05 - 10:05 (00:00)
rohini pts/2 157.43.53.142 Tue Aug 6 09:48 still logged in
abhi pts/1 202.91.87.114 Tue Aug 6 09:47 still logged in
root pts/0 202.91.87.114 Tue Aug 6 09:37 still logged in
reboot system boot 4.15.0-52-generi Tue Aug 6 09:28 still running
wtmp begins Tue Aug 6 09:28:43 2022
以上就是本次分享全部?jī)?nèi)容,歡迎討論。
-
Linux
+關(guān)注
關(guān)注
87文章
11312瀏覽量
209702 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7508瀏覽量
88072 -
Linux系統(tǒng)
+關(guān)注
關(guān)注
4文章
594瀏覽量
27409 -
命令
+關(guān)注
關(guān)注
5文章
685瀏覽量
22043 -
進(jìn)程
+關(guān)注
關(guān)注
0文章
203瀏覽量
13962
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論