任何人都可以向我解释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
reboot
和shutdown
分别是系统重启和关机的伪用户。这是记录该信息的机制,内核版本到同一位置,无需为 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
将其计算为它和下一次重新启动/关闭之间的时间。