登录
首页 >  文章 >  linux

Linux查看系统启动时间方法

时间:2026-03-31 12:59:12 377浏览 收藏

想精准掌握Linux系统究竟何时开机?本文详解五种可靠方法:从秒级精度的`uptime -s`命令,到审计可信的`who -b`、可追溯历史的`last reboot`、底层内核驱动的`/proc/uptime`反推法,再到systemd专属的`systemd-analyze time`——无论你是写监控脚本、排查异常重启,还是做合规审计,总有一种方式能快速、准确、无需依赖日志或外部工具地获取真实启动时间戳。

Linux怎么查看系统启动时间_Linux uptime查看运行时长方法【基础】

如果您需要确认 Linux 系统确切的开机时刻,而非仅知运行时长,则需调用内核或日志系统中记录的时间戳。以下是多种可直接获取系统启动时间的方法:

一、使用 uptime -s 查看精确启动时间戳

uptime -s 命令直接读取内核维护的启动时间戳,输出格式为 YYYY-MM-DD HH:MM:SS,精度达秒级,不依赖外部日志,适合脚本调用与监控场景。

1、打开终端窗口。

2、输入命令:uptime -s 并回车执行。

3、终端将直接显示类似 2026-03-28 08:47:12 的完整启动时间。

二、使用 who -b 查看 utmp 记录的启动时间

who 命令配合 -b 参数从 /var/run/utmp 文件中提取系统初始化时写入的启动记录,该文件由 init 进程在启动阶段写入,精度到分钟,审计可信度高。

1、在终端中执行:who -b

2、输出格式为 system boot YYYY-MM-DD HH:MM,例如 system boot 2026-03-28 08:47

3、注意该时间不含秒字段,且若系统未正常关机重启,utmp 可能未及时更新。

三、使用 last reboot 查阅 wtmp 中的重启历史

last 命令读取 /var/log/wtmp 二进制日志,可追溯多次 reboot 事件,适用于排查异常重启或验证最近一次开机是否为预期操作。

1、执行:last reboot | head -n 1 获取最近一次重启记录。

2、若输出含 still running,表示该次启动持续至今,时间即为当前有效开机时间。

3、完整记录可通过 last reboot 查看,每行首列为 reboot,其后时间为该次启动发生时刻(格式为月 日 HH:MM)。

四、解析 /proc/uptime 反推启动时间

/proc/uptime 第一列数值为系统自启动以来的总秒数(浮点型),是内核直接维护的底层计时源;结合当前系统时间,可反向计算出精确到秒的开机时刻,适合自动化脚本处理。

1、执行:cat /proc/uptime | awk '{print int($1)}' 提取整数秒数。

2、执行:date -d "@$(($(date +%s) - $(awk '{print int($1)}' /proc/uptime)))" "+%Y-%m-%d %H:%M:%S" 完成时间换算。

3、输出结果形如 2026-03-28 08:47:12,与 uptime -s 结果一致,但依赖当前系统时间准确同步。

五、使用 systemd-analyze time(仅限 systemd 系统)

对于使用 systemd 作为 init 系统的发行版(如 Ubuntu 16.04+、CentOS 7+、Debian 9+),systemd-analyze time 可基于启动各阶段耗时反推内核启动完成时刻,该时间点接近物理开机瞬间。

1、在终端中运行:systemd-analyze time

2、查找输出中 Kernel start: 行,其后时间即为内核加载完成时刻,格式为本地时间戳。

3、若需进一步确认,可执行:systemd-analyze log-level=debug time 2>/dev/null | grep "Kernel start" 提取原始时间字段。

本篇关于《Linux查看系统启动时间方法》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>