在你的 Linux 或类 UNIX 系统中,你是如何查询系统上次重新启动的日期和时间?怎样显示系统关机的日期和时间? last 命令不仅可以按照时间从近到远的顺序列出该会话的特定用户、终端和主机名,而且还可以列出指定日期和时间登录的用户。输出到终端的每一行都包括用户名、会话终端、主机名、会话开始和结束的时间、会话持续的时间。要查看 Linux 或类 UNIX 系统重启和关机的时间和日期,可以使用下面的命令。

  • last 命令
  • who 命令

1、使用 who 命令来查看系统重新启动的时间/日期

你需要在终端使用 who[1] 命令来打印有哪些人登录了系统,who 命令同时也会显示上次系统启动的时间。使用 last 命令来查看系统重启和关机的日期和时间,运行:

  • $ who -b

示例输出:system boot 2017-06-20 17:41

使用 last 命令来查询最近登录到系统的用户和系统重启的时间和日期。输入:

  • $ last reboot | less

示例输出:

如何在 Linux 系统查询机器最近重启时间-LMLPHP

或者,尝试输入:

  • $ last reboot | head -1

示例输出:reboot system boot 4.9.0-3-amd64 Sat Jul 15 19:19 still running

last 命令通过查看文件 /var/log/wtmp 来显示自 wtmp 文件被创建时的所有登录(和登出)的用户。每当系统重新启动时,这个伪用户 reboot 就会登录。因此,last reboot 命令将会显示自该日志文件被创建以来的所有重启信息。

2、查看系统上次关机的时间和日期

可以使用下面的命令来显示上次关机的日期和时间:

  • $ last -x|grep shutdown | head -1

示例输出:shutdown system down 2.6.15.4 Sun Apr 30 13:31 - 15:08 (01:37)

命令中,

  • -x:显示系统关机和运行等级改变信息

这里是 last 命令的其它的一些选项:

  • $ last
  • $ last -x
  • $ last -x reboot
  • $ last -x shutdown

示例输出:

如何在 Linux 系统查询机器最近重启时间-LMLPHP

3、查看系统正常的运行时间

评论区的读者建议的另一个命令如下:

  • $ uptime -s

示例输出:2017-06-20 17:41:51

4、OS X/Unix/FreeBSD 查看最近重启和关机时间的命令示例

在终端输入下面的命令:

  • $ last reboot

在 OS X 示例输出结果如下:

如何在 Linux 系统查询机器最近重启时间-LMLPHP

查看关机日期和时间,输入:

  • $ last shutdown

示例输出:

如何在 Linux 系统查询机器最近重启时间-LMLPHP

5、如何查看是谁重启和关闭机器?

你需要启用 psacct 服务然后运行下面的命令[3]来查看执行过的命令(包括用户名),在终端输入 lastcomm[4] 命令查看信息

  • lastcomm userNameHere
  • lastcomm commandNameHere
  • lastcomm | more
  • lastcomm reboot
  • lastcomm shutdown
  • 或者查看重启和关机时间
  • lastcomm | egrep 'reboot|shutdown'

示例输出:

reboot S X root pts/0 0.00 secs Sun Dec 27 23:49

shutdown S root pts/1 0.00 secs Sun Dec 27 23:45

我们可以看到 root 用户在当地时间 12 月 27 日星期二 23:49 在 pts/0 重新启动了机器。

01-20 14:43