在多用戶的 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 **表示偽終端從屬,即通過(guò) 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è)額外的工作。 那么,有沒(méi)有辦法只獲取用戶的登錄名呢? 答案是肯定的,那就是使用 users 命令。 如下所示:
$ users
abhi rohini root
4,使用 finger 命令
finger 命令并沒(méi)有在所有 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)中的用戶,那么有沒(méi)有方式查詢都有誰(shuí)登錄過(guò)系統(tǒng)呢?
last 命令可以顯示系統(tǒng)自上次重啟以來(lái),都有哪些用戶登錄過(guò)系統(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)注
88文章
11586瀏覽量
217349 - 
                                計(jì)算機(jī)
                                +關(guān)注
關(guān)注
19文章
7742瀏覽量
92512 - 
                                Linux系統(tǒng)
                                +關(guān)注
關(guān)注
4文章
608瀏覽量
29544 - 
                                命令
                                +關(guān)注
關(guān)注
5文章
745瀏覽量
23382 - 
                                進(jìn)程
                                +關(guān)注
關(guān)注
0文章
208瀏覽量
14473 
發(fā)布評(píng)論請(qǐng)先 登錄
查看Linux系統(tǒng)內(nèi)存使用情況的幾種方法
    
labview巧用配置文件實(shí)現(xiàn)用戶登錄系統(tǒng)
linux的用戶登錄歷史查看
如何在Linux下查看在線用戶
Linux的在線用戶怎么查看
linux登錄用戶切換方法
嵌入式arm linux設(shè)置登錄用戶和用戶密碼的方法
怎樣給嵌入式arm linux系統(tǒng)設(shè)置登錄用戶名和密碼
springmvc 自定義攔截器實(shí)現(xiàn)未登錄用戶的攔截
    
          
        
        
在Linux系統(tǒng)中列出登錄用戶的幾種方法
                
 
    
    
           
            
            
                
            
評(píng)論