uptime命令显示系统运行时长,who -b输出最近开机时间,last reboot追溯启动历史,systemd-analyze time获取内核启动时刻,/proc/uptime配合date反算开机时间戳。

如果您需要了解 Linux 系统自上次启动以来已运行了多长时间,或想确认确切的开机时间戳,则可通过系统内置命令直接获取。以下是几种可靠且互为补充的查询方法:
一、使用 uptime 命令查看系统运行时长
uptime 命令显示系统持续运行的时间、当前登录用户数及系统平均负载。其输出中的“up”字段即为总运行时长,精度至分钟或天小时格式。
1、打开终端(如 GNOME Terminal 或 xterm)。
2、输入以下命令并回车:uptime。
3、观察输出中类似 up 12 days, 4 hours, 23 minutes 的部分,该值即为系统连续运行时间。
二、使用 who -b 查看最近一次开机时间
who 命令带 -b 参数可直接打印系统最后一次启动的日期与时间,数据来源于 /var/run/utmp,具有较高可信度。
1、在终端中执行:who -b。
2、输出格式为 system boot 2024-05-18 09:17,其中右侧即为精确到分钟的开机时间。
三、使用 last 命令追溯启动记录
last 命令读取 /var/log/wtmp 日志,可列出包括系统启动(reboot)、关机(shutdown)在内的历史事件,支持多条记录回溯。
1、在终端中运行:last reboot | head -n 1。
2、若需查看全部启动记录,可执行:last reboot。
3、每行首列为 reboot,其后时间为该次启动发生时刻,格式为月 日 时:分。
四、通过 systemd-analyze 获取启动时间戳(仅限 systemd 系统)
systemd-analyze 是 systemd 初始化系统的诊断工具,其 time 子命令可显示内核启动完成及用户空间服务就绪的时间点,适用于较新发行版。
1、在终端中输入:systemd-analyze time。
2、关注输出中 Startup finished in... 上方的 Kernel start: ... 行,该时间即为内核加载完成时刻,接近实际开机时间。
3、如需仅获取开机时间戳,可使用:systemd-analyze blame | head -n 1,结合日志推断起始点。
五、读取 /proc/uptime 并换算为人类可读格式
/proc/uptime 文件第一列以秒为单位记录系统持续运行时间,需配合 date 命令反向计算开机时间,适合脚本化处理。
1、执行:cat /proc/uptime | awk '{print int($1)}',获取整数秒数。
2、将该秒数转换为开机时间:执行 date -d "$(awk '{print int($1)}' /proc/uptime) seconds ago"。
3、输出结果形如 Sat May 18 09:17:32 CST 2024,即为系统启动的完整时间戳。










