Linux系统资源实时监控脚本 前言每次查看系统资源都要手动敲命令数据还不会自动刷新有点麻烦。本文分享一个简单的Shell脚本可每秒自动刷新显示CPU使用率、CPU温度、内存和交换分区使用情况支持中英文系统代码简洁复制即用。代码#!/bin/bash# 清屏并隐藏光标cleartput civis# 捕获CtrlC退出信号traptput cnorm; clear; exitINTTERMwhiletrue;do# 获取CPU使用率取第一行排除空闲率cpu_usage$(top-bn1|head-n5|awk/%Cpu/ {print 100 - $8})# 获取CPU温度# 查看所有 thermal_zone 的类型# for i in /sys/class/thermal/thermal_zone*; do echo $i: $(cat $i/type 2/dev/null); donecpu_temp$(echoscale1;$(cat/sys/class/thermal/thermal_zone1/temp)/ 1000|bc)# 获取内存信息mem_info$(free-h|grep-E^(Mem|内存)|awk{print $3 / $2 ( $4 free)})mem_percent$(free|grep-E^(Mem|内存)|awk{printf %.1f, $3/$2 * 100})# 获取交换分区信息swap_total$(free|grep-E^(Swap|交换)|awk{print $2})if[[${swap_total}-gt0]];thenswap_info$(free-h|grep-E^(Swap|交换)|awk{print $3 / $2 ( $4 free)})swap_percent$(free|grep-E^(Swap|交换)|awk{printf %.1f, $3/$2 * 100})elseswap_percent0swap_info0/0fi# 清屏并显示信息clearechoecho System Resource MonitorechoechoCPU Usage:${cpu_usage}%echoCPU Temp:${cpu_temp}°Cecho--------------------------------------------echoMemory Usage:${mem_percent}%echoUsed/Total:${mem_info}echo--------------------------------------------echoSwap Usage:${swap_percent}%echoUsed/Total:${swap_info}echoechoUpdated:$(date%Y-%m-%d %H:%M:%S)echoechoPress CtrlC to exit# 每秒更新一次sleep1done