Logs

“last”命令的輸出

  • August 14, 2018

誰能解釋一下last命令輸出的最後一列是什麼意思?我對它對reboot偽使用者的意義特別感興趣。

reboot   system boot  2.6.32-28-generi Sat Feb 12 08:31 - 18:09 (9+09:37)   

9+09:37 是什麼意思?

reboot並且shutdown分別是系統重啟和關機的偽使用者。這就是記錄該資訊的機制,將核心版本記錄到同一位置,而無需為 wtmp 二進製文件創建任何特殊格式。

引用自man wtmp

該*wtmp文件記錄所有登錄和註銷。utmp除了空使用者名表示關聯終端上的註銷外,其格式完全相同。此外,~帶有使用者名的終端名稱shutdownor表示系統關閉或重新啟動,並且當date(1)更改時reboot,這對終端名稱*|** / **}**記錄舊/新系統時間。

wtmp 二進製文件只保存事件的時間戳。例如,last計算額外的東西,例如登錄時間。

reboot   system boot  2.6.32-28-generi Mon Feb 21 17:02 - 18:09  (01:07)    
...
user     pts/0        :0.0             Sat Feb 12 18:52 - 18:52  (00:00)    
user     tty7         :0               Sat Feb 12 18:52 - 20:53  (02:01)    
reboot   system boot  2.6.32-28-generi Sat Feb 12 08:31 - 18:09 (9+09:37)   

最後一列(括號中)是事件的長度。對於使用者來說reboot,這是正常執行時間。

最近一次重新啟動後,時間為目前正常執行時間。對於較早的重新啟動,時間是重新啟動後的正常執行時間(因此在我的範例的最後一行中,它是直到第一行的正常執行時間;中間沒有重新啟動)。+ 之前的數字表示天數。最後一行是 9 天 9 小時 37 分鐘,第一行目前正常執行時間是 1 小時 7 分鐘。

但是請注意,這個時間並不總是準確的——例如,在系統崩潰和異常重啟序列之後。last將其計算為它與下一次重新啟動/關閉之間的時間。

引用自:https://unix.stackexchange.com/questions/7760