
#!/bin/bash # 设置颜色变量RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[0;33m'BLUE='\033[0;34m'NC='\033[0m' # 重置颜色 # 生成分隔线separator() { echo -e "${BLUE}=======================================================${NC}"} # 系统基本信息检查system_info() { echo -e "\n${GREEN}>>> 系统基本信息检查${NC}" separator echo "主机名 : $(hostname)" echo "操作系统版本 : $(cat /etc/redhat-release)" echo "内核版本 : $(uname -r)" echo "系统运行时间 : $(uptime | awk -F, '{print $1}')"} # CPU检查cpu_check() { echo -e "\n${GREEN}>>> CPU检查${NC}" separator echo "CPU型号 : $(lscpu | grep 'Model name' | cut -d':' -f2 | xargs)" echo "物理核心数 : $(lscpu | grep 'Core(s)' | head -1 | awk '{print $4}')" echo "逻辑核心数 : $(nproc)" echo "当前负载 : $(uptime | awk -F 'average:' '{print $2}')"} # 内存检查memory_check() { echo -e "\n${GREEN}>>> 内存检查${NC}" separator free -h | awk ' /Mem/{ print "总内存 : " $2 print "已用内存 : " $3 print "可用内存 : " $7 } /Swap/{ print "交换分区 : " $2 print "已用交换 : " $3 }'} # 硬盘检查disk_check() { echo -e "\n${GREEN}>>> 硬盘检查${NC}" separator df -h | awk ' BEGIN { print "挂载点\t\t总大小\t已用\t可用\t使用率" } /^\/dev/ { printf "%-15s %-6s %-6s %-6s %-4s\n", $6, $2, $3, $4, $5 }' | column -t} # 网卡检查network_check() { echo -e "\n${GREEN}>>> 网络接口检查${NC}" separator for interface in $(ip -o link show | awk -F': ' '{print $2}' | grep -v lo); do echo "接口名称 : $interface" echo "IP地址 : $(ip -o -4 addr show $interface | awk '{print $4}')" echo "MAC地址 : $(ip link show $interface | awk '/link\/ether/ {print $2}')" echo "连接速度 : $(ethtool $interface 2>/dev/null | grep Speed | awk '{print $2}')" echo "连接状态 : $(ip link show $interface | grep -o 'state [A-Z]*' | awk '{print $2}')" separator done} # 主函数main() { clear echo -e "\n${YELLOW}====== 开始系统检查 ======${NC}" system_info cpu_check memory_check disk_check network_check echo -e "\n${YELLOW}====== 检查完成 ======${NC}"} # 执行主函数main
#!/bin/bash # 设置颜色变量 RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[0;33m'; BLUE='\033[0;34m'; NC='\033[0m' # 重置颜色 # 生成分隔线 separator() { echo -e "${BLUE}=======================================================${NC}" } # 系统基本信息检查 system_info() { echo -e "\n${GREEN}>>> 系统基本信息检查${NC}" separator echo "主机名 : $(hostname)" echo "操作系统版本 : $(cat /etc/redhat-release)" echo "内核版本 : $(uname -r)" echo "系统运行时间 : $(uptime | awk -F, '{print $1}')" } # CPU检查 cpu_check() { echo -e "\n${GREEN}>>> CPU检查${NC}" separator echo "CPU型号 : $(lscpu | grep 'Model name' | cut -d':' -f2 | xargs)" echo "物理核心数 : $(lscpu | grep 'Core(s)' | head -1 | awk '{print $4}')" echo "逻辑核心数 : $(nproc)" echo "当前负载 : $(uptime | awk -F 'average:' '{print $2}')" } # 内存检查 memory_check() { echo -e "\n${GREEN}>>> 内存检查${NC}" separator free -h | awk ' /Mem/{ print "总内存 : " $2 print "已用内存 : " $3 print "可用内存 : " $7 } /Swap/{ print "交换分区 : " $2 print "已用交换 : " $3 } ' } # 硬盘检查 disk_check() { echo -e "\n${GREEN}>>> 硬盘检查${NC}" separator df -h | awk ' BEGIN { print "挂载点\t\t总大小\t已用\t可用\t使用率" } /^\/dev/ { printf "%-15s %-6s %-6s %-6s %-4s\n", $6, $2, $3, $4, $5 } ' | column -t } # 网卡检查 network_check() { echo -e "\n${GREEN}>>> 网络接口检查${NC}" separator for interface in $(ip -o link show | awk -F': ' '{print $2}' | grep -v lo); do echo "接口名称 : $interface" echo "IP地址 : $(ip -o -4 addr show $interface | awk '{print $4}')" echo "MAC地址 : $(ip link show $interface | awk '/link\/ether/ {print $2}')" if command -v ethtool &> /dev/null; then echo "连接速度 : $(ethtool $interface 2>/dev/null | grep Speed | awk '{print $2}')" else echo "连接速度 : ethtool 命令未安装" fi echo "连接状态 : $(ip link show $interface | grep -o 'state [A-Z]*' | awk '{print $2}')" separator done } # 主函数 main() { clear echo -e "\n${YELLOW}====== 开始系统检查 ======${NC}" system_info cpu_check memory_check disk_check network_check echo -e "\n${YELLOW}====== 检查完成 ======${NC}" } # 执行主函数 main
使用方法:
将脚本保存为 system_check.sh
添加执行权限:
chmod +x system_check.sh
执行脚本:
./system_check.sh
功能说明:
系统基本信息:显示主机名、操作系统版本、内核版本和运行时间
CPU信息:显示型号、物理核心数、逻辑核心数和当前负载
内存信息:显示总内存、已用内存、可用内存和交换分区状态
硬盘信息:显示所有挂载点的磁盘使用情况(自动过滤系统伪设备)
网络接口:显示所有物理网卡的IP、MAC地址、连接速度和状态
注意事项:
需要root权限获取完整的网络接口信息
网络速度检测依赖ethtool工具,如果未安装请执行:
yum install -y ethtool
^M
),而不是 Unix/Linux 系统所需的换行符(LF)。这通常发生在将 Windows 上的脚本文件直接传输到 Linux 系统上时。sed -i 's/\r$//' system_check.sh
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://www.hqyman.cn/post/9782.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~