可使用uptime、who -b、last reboot、/proc/uptime或systemd-analyze等命令查看Linux系统运行时长及开机时间:uptime显示运行时长与负载;who -b直接输出启动时间戳;last reboot列出重启历史;/proc/uptime提供秒级精确值;systemd-analyze适用于systemd系统并可推算启动时刻。

如果您需要确认Linux系统自上次启动以来已运行多久,或想获知确切的开机时刻,则可借助多个内置命令获取该信息。以下是多种可行的方法:
一、使用uptime命令查看运行时长与负载
uptime命令是最直接的方式,它显示系统当前时间、持续运行时间(即开机后经过的时间)、当前登录用户数及过去1/5/15分钟的平均负载。运行结果中“up”后的字段即为系统连续运行时长,但不直接给出具体日期时间。
1、在终端中输入:uptime
2、观察输出中类似“up 5 days, 3:22”的部分,表示系统已运行5天3小时22分钟。
3、如需以更简洁格式仅显示运行时间,可追加选项:uptime -p
4、如需查看系统启动的具体时间戳,可使用:uptime -s
二、使用who -b命令获取最后一次启动时间
who命令配合-b选项可直接读取系统初始化时记录的启动时间,该时间来源于utmp日志,精度高且无需解析。
1、在终端中输入:who -b
2、输出示例为:system boot 2026-01-19 08:47,即系统于2026年1月19日08时47分启动。
三、使用last reboot命令查看重启历史
last reboot从wtmp日志中提取所有重启事件记录,适用于追溯多次开机时间,尤其当系统曾异常重启时可辅助排查。
1、在终端中输入:last reboot
2、输出中首行通常为最近一次重启,格式如:reboot system boot 5.15.0-125-generic Sat Jan 19 08:47 still running
3、若仅需最近一条记录,可结合管道过滤:last reboot | head -1
四、读取/proc/uptime并换算为可读时间
/proc/uptime文件第一列数值为系统自启动以来的总秒数,是内核直接维护的精确计时源,适合脚本化处理或需二次计算的场景。
1、在终端中输入:cat /proc/uptime
2、获取输出的第一组数字(例如:432567.89),该值为秒数。
3、将其转换为人类可读格式,执行:date -d "$(awk '{print int($1)}' /proc/uptime) seconds ago" "+%Y-%m-%d %H:%M:%S"
五、使用systemd-analyze查询启动时间(仅限systemd系统)
对于采用systemd作为init系统的发行版(如Ubuntu 16.04+、CentOS 7+、Debian 8+),systemd-analyze time可反推系统启动完成时刻,基于内核和用户空间启动耗时累加得出。
1、在终端中输入:systemd-analyze time
2、若需直接获得启动完成的绝对时间点,可执行:systemd-analyze blame | head -1 && systemd-analyze
3、更精确的启动时间推算方式为:date -d "$(systemd-analyze --no-pager time | awk -F' = ' '{print $2}' | sed 's/s//') seconds ago" "+%Y-%m-%d %H:%M:%S"










