“last”命令的输出

And*_*ini 20 logs last

任何人都可以向我解释last命令输出的最后一列的含义是什么?我对它对于reboot伪用户的意义特别感兴趣。

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

9+09:37 是什么意思?

小智 20

rebootshutdown分别是系统重启和关机的伪用户。这是记录该信息的机制,内核版本到同一位置,无需为 wtmp 二进制文件创建任何特殊格式。

引自man wtmp

wtmp文件记录所有登录和注销。utmp除了空用户名表示关联终端上的注销之外,它的格式完全相同。此外,~带有用户名shutdown或的终端名称reboot表示系统关闭或重新启动,以及一对终端名称|?/? }date(1)更改它时记录旧/新系统时间。

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)   
Run Code Online (Sandbox Code Playgroud)

最后一列(括号中)是事件的长度。对于用户来说reboot,这是正常运行时间。

最近一次重新启动后,时间是当前正常运行时间。对于较早的重新启动,时间是重新启动后的正常运行时间(因此在我示例的最后一行中,它的正常运行时间一直到第一行;中间没有重新启动)。+ 之前的数字表示天数。最后一行是 9 天 9 小时 37 分钟,第一行当前正常运行时间是 1 小时 7 分钟。

但是请注意,这个时间并不总是准确的——例如,在系统崩溃和异常重启序列之后。last将其计算为它和下一次重新启动/关闭之间的时间。