在 Linux 系统中,我们经常需要监控硬件状态,比如 CPU 使用率、内存占用、磁盘空间等。通过 Linux Shell 循环,我们可以轻松编写自动化脚本来持续检测这些信息。本教程将手把手教你如何使用 Shell 脚本配合循环结构,实现对系统硬件的实时监控,即使是编程小白也能轻松上手!

使用 Shell 脚本教程 中的循环结构(如 while 或 for),我们可以让脚本每隔一段时间自动读取一次硬件状态,无需手动重复执行命令。这对于服务器运维、性能调优或故障排查非常实用。
在编写脚本前,先了解几个常用命令:
top -bn1:获取一次 CPU 和内存快照free -m:查看内存使用情况(单位 MB)df -h:查看磁盘空间使用情况uptime:查看系统负载下面是一个简单的 Shell 脚本,它每 5 秒输出一次 CPU、内存和磁盘使用情况。我们将使用 while true 实现无限循环,并用 sleep 控制间隔时间。
#!/bin/bash# 硬件监控脚本 - 每5秒刷新一次while truedo echo "==================== $(date) ====================" echo "--- CPU & Memory ---" top -bn1 | grep "%Cpu\|KiB Mem" echo "--- Disk Usage ---" df -h | grep -E '^/dev/' echo "" sleep 5done将上述代码保存为 monitor.sh,然后在终端中运行:
chmod +x monitor.sh./monitor.sh你将看到类似如下输出(每5秒更新一次):
==================== Wed Jun 12 10:30:00 CST 2024 ====================--- CPU & Memory ---%Cpu(s): 2.3 us, 0.7 sy, 0.0 ni, 96.8 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 16384560 total, 2345672 free, 8765432 used, 5273456 buff/cache--- Disk Usage ---/dev/sda1 50G 20G 30G 40% //dev/sdb1 200G 120G 80G 60% /data我们还可以在脚本中加入判断逻辑。例如,当磁盘使用率超过 90% 时,发出警告:
# 检查根分区使用率usage=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')if [ "$usage" -gt 90 ]; then echo "[ALERT] 根分区使用率已超过 90%!当前: ${usage}%"fi将这段代码插入到之前的循环中,就能实现简单的 系统资源检测 报警功能。
通过本教程,你已经学会了如何利用 Linux Shell 循环 编写一个简单的硬件监控脚本。这不仅提升了你的 Shell 编程能力,也为日常运维打下了坚实基础。你可以继续扩展脚本功能,比如记录日志、发送邮件通知,甚至集成到 Web 界面中。
记住:自动化是运维的第一步,而 Shell 脚本是你最强大的工具之一!
本文由主机测评网于2025-12-01发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025121698.html