news 2026/9/2 23:51:16

一个小技巧让你服务器高大上起来

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一个小技巧让你服务器高大上起来
在日常运维或开发过程中,你是否总觉得自己的服务器缺了点“专业感”?明明功能正常,但登录后光秃秃的命令行、毫无辨识度的提示,既不美观也不实用。今天分享一个超简单的小技巧——自定义服务器登录欢迎界面(MOTD)+ 系统状态看板,几行代码就能让你的服务器瞬间“高大上”,还能直观展示核心运行信息,兼顾颜值与实用!

一、核心思路

我们要实现的效果是:当你通过 SSH 登录服务器时,不再是单调的命令行提示符,而是先展示包含服务器名称、IP、CPU/内存/磁盘使用率、负载等关键信息的可视化欢迎界面,既提升辨识度,又能快速掌握服务器状态。
核心实现方式:

  1. 自定义 Linux 的 MOTD(Message Of The Day)配置,替代默认的登录提示;
  2. 编写 Shell 脚本获取系统核心状态信息,并格式化输出;
  3. 配置脚本开机自启,确保每次登录都能看到最新状态。

二、落地执行代码

1. 编写系统状态展示脚本

创建/usr/local/bin/server-dashboard.sh文件,内容如下(支持 CentOS/Ubuntu 主流系统):

#!/bin/bash# 服务器状态看板 - 自定义登录欢迎界面脚本# 作者:技术运维笔记# 适用系统:CentOS 7+/Ubuntu 18.04+# 关闭脚本执行过程中的错误输出(避免干扰界面展示)exec2>/dev/null# ==================== 定义颜色常量(提升界面美观度)====================RED='\033[0;31m'GREEN='\033[0;32m'YELLOW='\033[0;33m'BLUE='\033[0;34m'PURPLE='\033[0;35m'CYAN='\033[0;36m'WHITE='\033[0;37m'NC='\033[0m'# 重置颜色# ==================== 获取系统核心信息 ====================# 1. 服务器基础信息HOSTNAME=$(hostname)IP_ADDR=$(hostname-I|awk'{print $1}')# 获取主网卡IPOS=$(cat/etc/os-release|grepPRETTY_NAME|cut-d=-f2|sed's/"//g')UPTIME=$(uptime-p|sed's/up //')# 运行时长# 2. CPU 信息CPU_CORES=$(grep-c ^processor /proc/cpuinfo)# CPU核心数CPU_USAGE=$(top-bn1|grep"Cpu(s)"|sed"s/.*, *\([0-9.]*\)%* id.*/\1/"|awk'{print 100 - $1}')# CPU使用率CPU_USAGE=$(printf"%.1f"$CPU_USAGE)# 保留1位小数# 3. 内存信息MEM_TOTAL=$(free-h|grepMem|awk'{print $2}')# 总内存MEM_USED=$(free-h|grepMem|awk'{print $3}')# 已用内存MEM_USAGE=$(free|grepMem|awk'{print $3/$2 * 100.0}'|awk'{printf "%.1f", $0}')# 内存使用率# 4. 磁盘信息(根目录)DISK_TOTAL=$(df-h /|grep/|awk'{print $2}')# 总磁盘空间DISK_USED=$(df-h /|grep/|awk'{print $3}')# 已用磁盘空间DISK_USAGE=$(df-h /|grep/|awk'{print $5}'|sed's/%//g')# 磁盘使用率# 5. 系统负载(1分钟/5分钟/15分钟)LOAD_AVG=$(uptime|awk-F'load average:''{print $2}'|sed's/ //g')# ==================== 格式化输出界面 ====================clear# 清屏,让界面更整洁echo-e"${PURPLE}=====================================================${NC}"echo-e"${CYAN}🚀${HOSTNAME}- 服务器状态看板 🚀${NC}"echo-e"${PURPLE}=====================================================${NC}"echo-e"${WHITE}📌 服务器IP:${GREEN}$IP_ADDR${NC}"echo-e"${WHITE}📌 系统版本:${GREEN}$OS${NC}"echo-e"${WHITE}📌 运行时长:${GREEN}$UPTIME${NC}"echo-e"${PURPLE}-----------------------------------------------------${NC}"echo-e"${WHITE}🖥️ CPU 信息:${GREEN}$CPU_CORES${NC}|${WHITE}使用率:${CYAN}$CPU_USAGE%${NC}"echo-e"${WHITE}🧠 内存信息:${GREEN}$MEM_USED/$MEM_TOTAL${NC}|${WHITE}使用率:${CYAN}$MEM_USAGE%${NC}"echo-e"${WHITE}💽 磁盘信息:${GREEN}$DISK_USED/$DISK_TOTAL${NC}|${WHITE}使用率:${CYAN}$DISK_USAGE%${NC}"echo-e"${PURPLE}-----------------------------------------------------${NC}"echo-e"${WHITE}📊 系统负载 (1/5/15分钟):${YELLOW}$LOAD_AVG${NC}"echo-e"${PURPLE}=====================================================${NC}"echo-e"${BLUE}💡 提示:输入 'exit' 可退出当前会话 | 更多功能可扩展${NC}"echo""# 空行分隔,提升可读性

2. 赋予脚本执行权限

执行以下命令,让脚本具备可执行权限:

chmod+x /usr/local/bin/server-dashboard.sh

3. 配置登录自动执行脚本

方式1:针对所有用户生效(推荐)

编辑/etc/profile文件,在文件末尾添加以下内容:

# 自定义服务器登录欢迎界面/usr/local/bin/server-dashboard.sh
方式2:仅针对当前用户生效

编辑~/.bashrc文件(如果是 zsh 则编辑~/.zshrc),在文件末尾添加同样内容:

/usr/local/bin/server-dashboard.sh

4. 生效配置并测试效果

执行以下命令,让配置立即生效:

# 针对 /etc/profile 配置source/etc/profile# 针对 ~/.bashrc 配置source~/.bashrc

此时重新登录服务器(或新开 SSH 会话),就能看到自定义的高大上欢迎界面了!

三、效果扩展(可选)

如果想让界面更“炫酷”,还可以添加以下功能(只需修改脚本即可):

  1. 添加服务器所属环境标识(如「生产环境」「测试环境」):
ENV="生产环境"echo-e"${WHITE}📌 运行环境:${RED}$ENV${NC}"
  1. 添加实时网络流量监控(需安装iftop依赖):
# 安装依赖(CentOS)yuminstall-y iftop# 安装依赖(Ubuntu)aptinstall-y iftop# 新增流量信息输出NETWORK=$(iftop -t -s1-n|grep"Total send"|awk'{print $5 " / " $8}')echo-e"${WHITE}📶 网络流量:${GREEN}$NETWORK${NC}"
  1. 添加告警提示(如磁盘使用率超过 80% 标红):
if[$DISK_USAGE-gt80];thenecho-e"${WHITE}💽 磁盘信息:${GREEN}$DISK_USED/$DISK_TOTAL${NC}|${WHITE}使用率:${RED}$DISK_USAGE% ⚠️${NC}"elseecho-e"${WHITE}💽 磁盘信息:${GREEN}$DISK_USED/$DISK_TOTAL${NC}|${WHITE}使用率:${CYAN}$DISK_USAGE%${NC}"fi

四、注意事项

  1. 脚本仅在 SSH 登录(bash/zsh 终端)时生效,图形化界面登录可能不显示;
  2. 确保服务器有topfreedf等基础命令(主流 Linux 发行版默认自带);
  3. 如果执行脚本报错,可先关闭错误重定向(删除脚本开头的exec 2>/dev/null),查看具体错误信息。

总结

  1. 核心实现逻辑是通过自定义 Shell 脚本获取系统状态,配置 MOTD 实现登录自动展示,低成本提升服务器“专业感”;
  2. 关键步骤:编写可视化脚本 → 赋予执行权限 → 配置登录自动执行 → 测试效果;
  3. 脚本支持灵活扩展,可根据需求添加环境标识、告警提示、网络监控等功能,兼顾美观与实用。

这个小技巧无需复杂的技术栈,几分钟就能落地,既能让你的服务器告别“裸奔”状态,又能快速掌握核心运行信息,真正做到“高大上”且实用!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 21:45:18

Python 网络爬虫从入门到实战:手把手教你爬取豆瓣电影排行

在大数据时代,网络爬虫已成为信息采集的核心工具,广泛应用于数据分析、搜索引擎优化等领域。Python 凭借简洁的语法和强大的库支持,成为编写爬虫的首选语言。本文将从基础概念出发,结合 requests 和 beautifulsoup4 库的实战应用&…

作者头像 李华
网站建设 2026/9/2 21:46:08

C# 基于OpenCv的视觉工作流-章18-图像缩放

C# 基于OpenCv的视觉工作流-章18-图像缩放 本章目标: 一、按比例缩放; 二、按尺寸缩放;一、按比例缩放; OpenCv按比例缩放可如下使用: Mat matDst new Mat(); Cv2.Resize(image, matDst, new OpenCvSharp.Size(), wid…

作者头像 李华
网站建设 2026/9/2 21:46:47

【珍藏】深入理解Agent工作流:大模型应用的核心技术详解

文章详细解析了AI Agent及其工作流的概念,介绍了AI Agent的组成要素(LLMs、工具、记忆、推理),阐述了Agent工作流的三种核心模式(规划、工具使用、反思),并探讨了其在代理RAG、研究助手、编码助…

作者头像 李华
网站建设 2026/9/2 21:46:11

智慧零售场景下的工业物联网解决方案

在无人零售快速渗透的今天,自助售货机作为智慧零售的核心终端,已广泛布局于地铁站、写字楼、商场等多元场景。但随着点位扩张,运营端普遍面临缺货精准度不足、运维成本高、设备稳定性差、数据管理困难等痛点,成为制约行业规模化发…

作者头像 李华
网站建设 2026/9/2 21:47:07

mscoree.dll文件丢失找不到 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况,由于很多常用软件都是采用 Microsoft Visual Studio 编写的,所以这类软件的运行需要依赖微软Visual C运行库,比如像 QQ、迅雷、Adobe 软件等等,如果没有安装VC运行库或者安装…

作者头像 李华