今天分享一个超炫的脚本,让你登录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
非 bash 用户(zsh 等)~/.zshrc /etc/zsh/zshrc
脚本风格清晰,可集中管理/etc/profile.d/ 目录

其他注意点:

  • /etc/profile.d/xxx.sh 中的脚本必须是 可执行的 ,并且以 .sh 结尾。
  • ~/.bashrc ~/.bash_profile 执行的是当前用户的脚本,建议不要把对所有用户有影响的逻辑写进去。

上面的脚本不只可以实现系统基本信息展示,也可以 根据需要将本系统的部署的应用展示出来,比如应用的部署路径,应用端口等。
这样刚接手的就快速知道应用部署情况。

结束

本文标题: 效率飙升!登录 Linux 自动展示 CPU/内存/多盘使用情况,一个脚本搞定!

本文链接: https://blog.oyooy.com/archives/103.html

除非另有说明,本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

声明:转载请注明文章来源。

最后修改:2025 年 07 月 15 日
如果觉得我的文章对你有用,请随意赞赏