Linux中查看繫統當前登録用戶信息的多種方法
- 2017-02-26 13:43:03
- 啊超
- 6622
- 最後編輯:achao 於 2017-02-26 13:44:14
Linux中查看繫統當前登録用戶信息的多種方法
作者:Hari Haran。他工作於 bk Systems (p) Ltd,併緻力與開源軟件事業。
作爲繫統管理員,你可能經常會(在某箇時候)需要查看繫統中有哪些用戶正在活動。有些時候,你甚至需要知道他(她)們正在做什麽。本文爲我們總結瞭4種查看繫統用戶信息(通過編號(ID))的方法。
1. 使用w命令查看登録用戶正在使用的進程信息
w命令用於顯示已經登録繫統的用戶的名稱,以及他們正在做的事。該命令所使用的信息來源於/var/run/utmp文件。w命令輸齣的信息包括:
- 用戶名稱
- 用戶的機器名稱或tty號
- 遠程主機地址
- 用戶登録繫統的時間
- 空閒時間(作用不大)
- 附加到tty(終端)的進程所用的時間(JCPU時間)
- 當前進程所用時間(PCPU時間)
- 用戶當前正在使用的命令
w命令還可以使用以下選項
- -h忽略頭文件信息
- -u顯示結果的加載時間
- -s不顯示JCPU, PCPU, 登録時間
$ w 23:04:27 up 29 days, 7:51, 3 users, load average: 0.04, 0.06, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 8.00s 0.05s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 2:53 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.00s 0.00s w
$ w -h ramesh pts/0 dev-db-server 22:57 17:43 2.52s 0.01s sshd: ramesh [priv]
jason pts/1 dev-db-server 23:01 20:28 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -h
$ w -u 23:22:06 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
ramesh pts/0 dev-db-server 22:57 17:47 2.52s 2.49s top
jason pts/1 dev-db-server 23:01 20:32 0.01s 0.01s -bash
john pts/2 dev-db-server 23:04 0.00s 0.03s 0.00s w -u
$ w -s 23:22:10 up 29 days, 8:08, 3 users, load average: 0.00, 0.00, 0.00
USER TTY FROM IDLE WHAT
ramesh pts/0 dev-db-server 17:51 sshd: ramesh [priv]
jason pts/1 dev-db-server 20:36 -bash
john pts/2 dev-db-server 1.00s w -s
2.使用who命令查看(登録)用戶名稱及所啟動的進程
who命令用於列舉齣當前已登録繫統的用戶名稱。其輸齣爲:用戶名、tty號、時間日期、主機地址。
$ who ramesh pts/0 2009-03-28 22:57 (dev-db-server) jason pts/1 2009-03-28 23:01 (dev-db-server) john pts/2 2009-03-28 23:04 (dev-db-server)如果隻希望列齣用戶,可以使用如下語句:
$ who | cut -d' ' -f1 | sort | uniq john jason ramesh補充:users命令,可用於打印輸齣登録服務器的用戶名稱。該命令除瞭有help和version選項外,再沒有其他選項。如果某用戶使用瞭多箇終端,則相應的會顯示多箇重覆的用戶名。
$ users john jason ramesh
3. 使用whoami命令查看你所使用的登録名稱
whoami命令用於顯示登入的用戶名。
$ whoami johnwhoami命令的執行效果和id -un的效果完全一樣,例如:
$ id -un johnwhoami命令能顯示當前登入的用戶名稱,以及當前所使用的tty信息。該命令的輸齣結果包括如下內容:用戶名、tty名、當前時間日期,衕時還包括用戶登録繫統所使用的鏈接地址。
$ who am i john pts/2 2009-03-28 23:04 (dev-db-server) $ who mom likes john pts/2 2009-03-28 23:04 (dev-db-server) Warning: Don't try "who mom hates" command.當然,如果你使用su命令改變用戶,則該命令(whoami)所顯示的結果將隨之改變。
4. 隨時查看繫統的歷史信息(曾經使用過繫統的用戶信息)
last命令可用於顯示特定用戶登録繫統的歷史記録。如果沒有指定任何蔘數,則顯示所有用戶的歷史信息。在默認情況下,這些信息(所顯示的信息)將來源於/var/log/wtmp文件。該命令的輸齣結果包含以下幾列信息:
- 用戶名稱
- tty設備號
- 歷史登録時間日期
- 登齣時間日期
- 總工作時間
$ last jason jason pts/0 dev-db-server Fri Mar 27 22:57 still logged in jason pts/0 dev-db-server Fri Mar 27 22:09 - 22:54 (00:45) jason pts/0 dev-db-server Wed Mar 25 19:58 - 22:26 (02:28) jason pts/1 dev-db-server Mon Mar 16 20:10 - 21:44 (01:33) jason pts/0 192.168.201.11 Fri Mar 13 08:35 - 16:46 (08:11) jason pts/1 192.168.201.12 Thu Mar 12 09:03 - 09:19 (00:15) jason pts/0 dev-db-server Wed Mar 11 20:11 - 20:50 (00:39
Update Required
To play the media you will need to either update your browser to a recent version or update your Flash plugin.