“最后”命令的输出

“最后”命令的输出

谁能解释一下命令输出的最后一列的含义是什么last?我对它对于reboot伪用户的含义特别感兴趣。

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

9+09:37 是什么意思?

答案1

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

引用自man wtmp:

wtmp文件记录所有登录和注销。它的格式完全像utmp不同之处在于,空用户名表示在关联终端上注销。此外,终端名称~使用用户名shutdown或者reboot表示系统关闭或重新启动以及一对终端名称| / }记录旧/新系统时间日期(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)   

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

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

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

相关内容