使用 uptime 命令可直接查看系统运行时长,例如输入 uptime 显示“up 2 days 5 hours”表示已运行两天五小时;2. 查看 /proc/uptime 文件获取系统启动以来的总秒数,第一个数字为总运行时间,适合脚本处理;3. 使用 who -b 命令查看系统启动时间,结合 date 可计算精确运行时长,但依赖系统日志。
想知道系统已经运行了多久,其实不需要复杂操作。linux 下查看系统运行时长非常简单,几种常用命令就能搞定。
使用 uptime 命令查看
这是最直接的方式。在终端输入 uptime,它会显示系统当前时间、用户登录数量以及过去 1、5、15 分钟的平均负载,同时还会告诉你系统已经连续运行了多长时间。
比如输出可能是这样的:
14:30:00 up 2 days 5 hours, 3 users, load average: 0.15, 0.10, 0.05
其中 up 2 days 5 hours 就表示系统运行了两天又五个小时。
- 如果你只想知道运行时间部分,可以结合 awk 提取:
uptime | awk '{print $3,$4}'
这个方法适合快速查看,而且大多数 Linux 发行版都自带这个命令。
查看 /proc/uptime 文件
Linux 的 /proc 是一个虚拟文件系统,里面包含了大量系统运行时的信息。/proc/uptime 文件中记录了系统启动以来的总秒数。
执行以下命令可以看到两个数字:
cat /proc/uptime
输出类似这样:
123456.78 987654.32
第一个数字是系统总共运行的秒数(包括睡眠时间),第二个是所有 CPU 核心空闲的时间总和。
- 如果你想把秒数转成更直观的天数小时分钟格式,可以用脚本处理,或者手动计算:
- 比如:123456 秒 ≈ 1 天 10 小时 17 分钟
这种方式适合写脚本或做监控用,实时性强,数据准确。
使用 who -b 命令查看系统启动时间
如果你想知道系统是从什么时候开始运行的,而不是运行了多久,可以用 who -b 命令。
运行结果可能像这样:
system boot 2024-03-10 08:30:00
这表示系统是在 2024 年 3 月 10 日早上八点半启动的。你可以根据当前时间和这个时间点来估算运行时长。
- 这个方法依赖于系统日志,如果日志被清理过,可能查不到。
- 配合 date 命令还能算出精确运行时间:
echo $(($(date +%s) - $(who -b | awk '{print $3, $4}' | date +%s)))
基本上就这些方法了,不复杂但容易忽略的是 /proc/uptime 和 who -b 的应用场景差异。