效率飙升!登录 Linux 自动展示 CPU/内存/多盘使用情况,一个脚本搞定!
分享一个超炫的脚本,登录Linux服务器后,自动展示平时关注的系统信息,一目了然。
更重要的是:脚本复制即可用,还可以自定义修改。
1 效果展示
登录服务器后,自动展示
是不是非常有“掌控感”?系统健康状态一目了然,再也不用翻命令查资源了!
2 实现脚本
编写脚本:
vi /etc/profile.d/sysinfo.sh
脚本内容:
#!/bin/bash
# 颜色
GREEN="\033[1;32m"
YELLOW="\033[1;33m"
CYAN="\033[1;36m"
RESET="\033[0m"
# 获取基本信息
HOSTNAME=$(hostname)
UPTIME=$(uptime -p | sed 's/up //')
LOADAVG=$(uptime | awk -F'load average:''{print $2}' | sed 's/^ //')
# 内存
read MEM_TOTAL MEM_USED <<<$(free -m | awk '/Mem:/ {print $2, $3}')
MEM_PCT=$((MEM_USED * 100 / MEM_TOTAL))
# IP
IP_ADDR=$(hostname -I | awk '{print $1}')
# CPU 使用率(top方式)
CPU_IDLE=$(top -bn2 | grep "Cpu(s)" | tail -n1 | awk -F',''{print $4}' | grep -o '[0-9.]*')
CPU_USAGE=$(awk "BEGIN {printf \"%.0f\", 100 - $CPU_IDLE}")
# 输出系统信息
echo -e "\n${GREEN}恭喜你成功登录系统,先了解一下系统信息吧!${RESET}"
echo -e "${YELLOW}---------------------------------------------${RESET}"
#echo -e "${CYAN}系统信息如下:${RESET}"
#echo -e "${YELLOW}---------------------------------------------${RESET}"
printf"| %-8s | %-30s |\n""资源 "" 使用情况"
printf"|----------|--------------------------------|\n"
printf"| %-8s | %-30s |\n""IP地址 ""$IP_ADDR"
printf"| %-8s | %-30s |\n""CPU""$CPU_USAGE%"
printf"| %-8s | %-30s |\n""内存 ""${MEM_USED}MB / ${MEM_TOTAL}MB (${MEM_PCT}%%)"
printf"| %-8s | %-30s |\n""负载情况""$LOADAVG"
printf"| %-8s | %-30s |\n""运行时长""$UPTIME"
echo -e "${YELLOW}---------------------------------------------${RESET}"
echo -e "${CYAN}磁盘挂载信息${RESET}"
echo -e "${YELLOW}-------------------------------------------------${RESET}"
# 打印磁盘使用情况(排除 tmpfs 和 devtmpfs)
printf"| %-10s | %-10s | %-10s | %-6s |\n""Mount""Used""Total""Usage"
printf"|------------|------------|------------|--------|\n"
df -h -x tmpfs -x devtmpfs | awk 'NR>1 {
printf "| %-10s | %-10s | %-10s | %-6s |\n", $6, $3, $2, $5
}'
echo -e "${YELLOW}-------------------------------------------------${RESET}"
echo -e "${GREEN}开始你的表演,操作需谨慎,勿当背锅侠!${RESET}\n"
3 运行脚本
将脚本添加执行权限即可运行
chmod +x /etc/profile.d/sysinfo.sh
完成上面步骤,即可每次登录 SSH、TTY、Shell,就会自动展示这份美丽的资源清单。
4 注意事项
要将脚本放置在系统会自动执行脚本的目录下,路径建议:
/etc/profile.d/sysinfo.sh | |
~/.bash_profile~/.bashrc | |
~/.zshrc/etc/zsh/zshrc | |
/etc/profile.d/ |
其他注意点:
/etc/profile.d/xxx.sh中的脚本必须是 可执行的,并且以.sh结尾。~/.bashrc和~/.bash_profile执行的是当前用户的脚本,建议不要把对所有用户有影响的逻辑写进去。
上面的脚本不只可以实现系统基本信息展示,也可以根据需要将本系统的部署的应用展示出来,比如应用的部署路径,应用端口等。这样刚接手的就快速知道应用部署情况。
以为能躺赚,结果“养虾”变成了“养雷”,第一批“养虾人”已经失眠了……
DeepSeek被针对,Anthropic指控三家中国AI蒸馏剽窃,马斯克硬刚“贼喊抓贼”!
明明大厂裁员滚滚,为什么运维还这么难招?
在 SQL 中写了 in 和 not in,技术总监让我明天不用来了
年底了!系统稳如狗,甲方觉得我们没工作量,怎么收运维费?
为什么DeepSeek火之后,人们想到的是大量裁员,而不是实行上三休四?
《AI数据分析之ChatBI发展与应用实践》白皮书(附下载)正式上线啦
号外!《核心系统分布式数据库选型指南》电子书(附下载)正式上线
解锁数据架构现代化密码,《实时数仓选型指南》电子书(附下载)正式上线啦