《Linux下查看操作系統(tǒng)當(dāng)前登錄用戶信息的四種方法》要點(diǎn):
本文介紹了Linux下查看操作系統(tǒng)當(dāng)前登錄用戶信息的四種方法,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
作為系統(tǒng)開發(fā)或維護(hù)人員,你可能經(jīng)常會(huì)(在某個(gè)時(shí)候)需要查看系統(tǒng)中有哪些用戶正在活動(dòng).有些時(shí)候,你甚至需要知道他(她)們正在做什么.本文為我們總結(jié)了4種查看系統(tǒng)用戶信息(通過編號(hào)(ID))的方法.
1. 使用w命令查看登錄用戶正在使用的進(jìn)程信息
w命令用于顯示已經(jīng)登錄系統(tǒng)的用戶的名稱,以及他們正在做的事.該命令所使用的信息來源于/var/run/utmp文件.w命令輸出的信息包括:
用戶名稱
用戶的機(jī)器名稱或tty號(hào)
遠(yuǎn)程主機(jī)地址
用戶登錄系統(tǒng)的時(shí)間
空閑時(shí)間(作用不大)
附加到tty(終端)的進(jìn)程所用的時(shí)間(JCPU時(shí)間)
當(dāng)前進(jìn)程所用時(shí)間(PCPU時(shí)間)
用戶當(dāng)前正在使用的命令
w命令還可以使用以下選項(xiàng)
-h忽略頭文件信息
-u顯示結(jié)果的加載時(shí)間
-s不顯示JCPU, PCPU, 登錄時(shí)間
$ 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命令查看(登錄)用戶名稱及所啟動(dòng)的進(jìn)程
who命令用于列舉出當(dāng)前已登錄系統(tǒng)的用戶名稱.其輸出為:用戶名、tty號(hào)、時(shí)間日期、主機(jī)地址.
$ 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)
如果只希望列出用戶,可以使用如下語(yǔ)句:
$ who | cut -d’ ‘ -f1 | sort | uniq
john
jason
ramesh
補(bǔ)充:users命令,可用于打印輸出登錄服務(wù)器的用戶名稱.該命令除了有help和version選項(xiàng)外,再?zèng)]有其他選項(xiàng).如果某用戶使用了多個(gè)終端,則相應(yīng)的會(huì)顯示多個(gè)重復(fù)的用戶名.
$ users
john jason ramesh
3. 使用whoami命令查看你所使用的登錄名稱
whoami命令用于顯示登入的用戶名.
$ whoami
john
whoami命令的執(zhí)行效果和id -un的效果完全一樣,例如:
$ id -un
john
whoami命令能顯示當(dāng)前登入的用戶名稱,以及當(dāng)前所使用的tty信息.該命令的輸出結(jié)果包括如下內(nèi)容:用戶名、tty名、當(dāng)前時(shí)間日期,同時(shí)還包括用戶登錄系統(tǒng)所使用的鏈接地址.
$ 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.
當(dāng)然,如果你使用su命令改變用戶,則該命令(whoami)所顯示的結(jié)果將隨之改變.
4. 隨時(shí)查看系統(tǒng)的歷史信息(曾經(jīng)使用過系統(tǒng)的用戶信息)
last命令可用于顯示特定用戶登錄系統(tǒng)的歷史記錄.如果沒有指定任何參數(shù),則顯示所有用戶的歷史信息.在默認(rèn)情況下,這些信息(所顯示的信息)將來源于/var/log/wtmp文件.該命令的輸出結(jié)果包含以下幾列信息:
用戶名稱
tty設(shè)備號(hào)
歷史登錄時(shí)間日期
登出時(shí)間日期
總工作時(shí)間
$ 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
本文作者為Hari Haran,原文地址《4 Ways to Identify Who is Logged-In on Your Linux System》.
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4687.html