linux 效能監控命令——w,who,whoami,whois ,who am i
功能說明:查詢並顯示使用者資訊。
語 法:whois [帳號名稱]
補充說明:whois指令會去查詢並顯示指定帳號的使用者相關資訊,因為它是到Network Solutions的WHOIS資料庫去查詢,所以該帳號名稱必須在上面註冊方能尋獲,且名稱沒有大小寫的差別。
whoami
功能說明:顯示使用者名稱稱。
語 法:whoami [--help][--version]
補充說明:顯示自身的使用者名稱稱,本指令相當於執行"id -un"指令。
參 數:
--help 線上幫助。
--version 顯示版本資訊。
who
功能說明:顯示目前登入系統的使用者資訊。
語 法:who [-Himqsw][--help][--version][am i][記錄檔案]
補充說明:執行這項指令可得知目前有那些使用者登入系統,單獨執行who指令會列出登入帳號,使用的
終端機,登入時間以及從何處登入或正在使用哪個X顯示器。
參 數:
-H或--heading 顯示各欄位的標題資訊列。
-i或-u或--idle 顯示閒置時間,若該使用者在前一分鐘之內有進行任何動作,將標示成"."號,如果該使用者已超過24小時沒有任何動作,則標示出"old"字串。
-m 此引數的效果和指定"am i"字串相同。
-q或--count 只顯示登入系統的帳號名稱和總人數。
-s 此引數將忽略不予處理,僅負責解決who指令其他版本的相容性問題。
-w或-T或--mesg或--message或--writable 顯示使用者的資訊狀態列。
--help 線上幫助。
--version 顯示版本資訊。
w
功能說明:顯示目前登入系統的使用者資訊。
語 法:w [-fhlsuV][使用者名稱稱]
補充說明:執行這項指令可得知目前登入系統的使用者有那些人,以及他們正在執行的程式。單獨執行w
指令會顯示所有的使用者,您也可指定使用者名稱稱,僅顯示某位使用者的相關資訊。
參 數:
-f 開啟或關閉顯示使用者從何處登入系統。
-h 不顯示各欄位的標題資訊列。
-l 使用詳細格式列表,此為預設值。
-s 使用簡潔格式列表,不顯示使用者登入時間,終端機階段作業和程式所耗費的CPU時間。
-u 忽略執行程式的名稱,以及該程式耗費CPU時間的資訊。
-V 顯示版本資訊。
Linux系統中who am i和whoami區別
who am i 顯示的是實際使用者ID即使用者登陸的時候的使用者ID
whoami 顯示的是有效使用者ID.
但在大多數情況下,實際使用者ID和有效使用者ID是一致的。
如
login:zhx
Pssword:
$who am i
zhx pts/0 2007-08-16 13:16 (:0.0)
$whoami
zhx
當切換使用者後:
su
Password:
#who am i
zhx pts/0 007-08-16 13:16 (:0.0)
#whoami
root
也可以說who am i 顯示的是切換使用者前的實際登陸的使用者ID,whoami是切換後的有效的使用者ID,此時此終端具有切換後用戶的訪問許可權,如本文中切換後則具有超級使用者的訪問許可權。
who am i 和whoami有何區別?
首先要說明uid和euid(effective user id)的區別。uid就是你login的時候使用的id,而euid則是你當前的有效id。因為登入後我們可以使用su切換使用者身份,所以uid和euid可能是不同的,程式在執行的時候一般看的都是euid,當然也有特出的,who am i就是一個。
舉個例子:使用者用ABC登陸,使用su變成root,用who am i看到的是ABC,使用whoami命令看到的是root。
login: u1
Password:
$ su
Password:
# /usr/ucb/whoami
root
# who am i
u/4 10月 31 23:18 (192.168.0.1)
who am i與whoami的區別:1.whoami顯示effective current username(即通過su username1之後,
顯示的是username1);
2.who am i顯示的是original username(即在使用su命令之前的username).