目 录CONTENT

文章目录

SSH登录欢迎信息与系统状态显示

DUSHE
2025-01-07 / 0 评论 / 2 点赞 / 38 阅读 / 1,151 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2025-01-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

SSH登录欢迎信息与系统状态显示

前言

在通过 SSH 登录服务器或计算机时,设置一个自定义的欢迎信息,不仅可以提升用户体验,还能在登录时快速查看系统状态信息(如系统名称、版本、负载、内存等)。本文介绍如何为不同类型的系统配置登录后的欢迎信息,适用以下场景:

  1. UOS 电脑
  2. Ubuntu 服务器
  3. UOS 服务器
  4. OpenWrt

通过修改 /etc/profile 文件,可以在用户登录后展示自定义的欢迎信息和系统状态。


配置步骤

1. 修改 /etc/profile 文件

在目标系统的 /etc/profile 文件末尾插入自定义代码。代码内容应根据系统类型进行调整(例如显示系统名称、版本信息、CPU 状态等)。

sudo vim /etc/profile

以下是我使用的,可以参考,可能需要自行修改部分内容。

UOS系统:

echo -e "\033[1;32m系统状态:\033[0m"
echo -e "\033[1;34m主机名:                      \033[0m\033[1;37m$(uname -n)\033[0m"
echo -e "\033[1;34m运行时长:            \033[0m\033[1;37m$(awk '{print int($1/3600)"小时 "int(($1%3600)/60)"分钟"}' /proc/uptime)\033[0m"

MEM=$(free | grep Mem | awk '{printf "%d/%d MB", $3/1024, $2/1024}')
echo -e "\033[1;34m内存使用:            \033[0m\033[1;37m$MEM\033[0m"

# 系统盘使用情况
DISK_ROOT=$(df -h / | awk '/\/$/ {print $3 "/" $2}')
echo -e "\033[1;34m系统盘空间:          \033[0m\033[1;37m$DISK_ROOT\033[0m"

# 数据盘使用情况
DISK_DATA=$(df -h /data | awk '/\/data/ {print $3 "/" $2}')
echo -e "\033[1;34m数据盘空间

ubuntu:

echo -e "\033[1;32m系统状态:\033[0m"
echo -e "\033[1;34m主机名:                      \033[0m\033[1;37m$(uname -n)\033[0m"
echo -e "\033[1;34m运行时长:            \033[0m\033[1;37m$(awk '{print int($1/3600)"小时 "int(($1%3600)/60)"分钟"}' /proc/uptime)\033[0m"

MEM=$(free | grep Mem | awk '{printf "%d/%d MB", $3/1024, $2/1024}')
echo -e "\033[1;34m内存使用:            \033[0m\033[1;37m$MEM\033[0m"

# 系统盘使用情况
DISK_ROOT=$(df -h / | awk '/\/$/ {print $3 "/" $2}')
echo -e "\033[1;34m根目录空间:          \033[0m\033[1;37m$DISK_ROOT\033[0m"

OpenWrt:

echo -e "\033[1;32m系统状态:\033[0m"
echo -e "\033[1;34m主机名:                              \033[0m\033[1;37m$(uname -n)\033[0m"
echo -e "\033[1;34m运行时长:                            \033[0m\033[1;37m$(awk '{print int($1/3600)"小时 "int(($1%3600)/60)"分钟"}' /proc/uptime)\033[0m"

IP=$(ip -o -4 addr show $(uci get network.lan.ifname 2>/dev/null || echo br-lan) | awk '{print $4}' | cut -d/ -f1)
if [ -n "$IP" ]; then
    echo -e "\033[1;34mIP 地址:                         \033[0m\033[1;37m$IP\033[0m"
else
    echo -e "\033[1;34mIP 地址:                         \033[0m\033[1;31m不可用\033[0m"
fi

if [ -f /sys/class/thermal/thermal_zone0/temp ]; then
    TEMP=$(cat /sys/class/thermal/thermal_zone0/temp)
    echo -e "\033[1;34mCPU 温度:                        \033[0m\033[1;37m$(awk "BEGIN {printf \"%.1f°C\", $TEMP/1000}")\033[0m"
else
    echo -e "\033[1;34mCPU 温度:                        \033[0m\033[1;31m不可用\033[0m"
fi

MEM=$(free | grep Mem | awk '{printf "%d/%d MB", $3/1024, $2/1024}')
echo -e "\033[1;34m内存使用:                            \033[0m\033[1;37m$MEM\033[0m"

DISK=$(df -h / | awk '/\/$/ {print $3 "/" $2}')
echo -e "\033[1;34m磁盘使用:                            \033[0m\033[1;37m$DISK\033[0m"

# 添加 tmp 使用情况
TMP=$(df -h /tmp | awk '/tmpfs/ {print $3 "/" $2}')
echo -e "\033[1;34mTmp 使用:                            \033[0m\033[1;37m$TMP\033[0m"

# 添加挂载目录使用情况
MOUNTED=$(df -h /mnt/mmcblk0p13 | awk '/\/mnt\/mmcblk0p13/ {print $3 "/" $2}')
echo -e "\033[1;34m挂载存储:                            \033[0m\033[1;37m$MOUNTED\033[0m"

UOS服务器:

echo -e "\033[1;32m系统状态:\033[0m"
echo -e "\033[1;34m主机名:                      \033[0m\033[1;37m$(uname -n)\033[0m"
echo -e "\033[1;34m运行时长:            \033[0m\033[1;37m$(awk '{print int($1/3600)"小时 "int(($1%3600)/60)"分钟"}' /proc/uptime)\033[0m"

MEM=$(free | grep Mem | awk '{printf "%d/%d MB", $3/1024, $2/1024}')
echo -e "\033[1;34m内存使用:            \033[0m\033[1;37m$MEM\033[0m"

# 系统盘使用情况
DISK_ROOT=$(df -h / | awk '/\/$/ {print $3 "/" $2}')
echo -e "\033[1;34m根目录空间:          \033[0m\033[1;37m$DISK_ROOT\033[0m"

# 数据盘使用情况
DISK_DATA=$(df -h /data | awk '/\/data/ {print $3 "/" $2}')
echo -e "\033[1;34mdata空间:            \033[0m\033[1;37m$DISK_DATA\033[0m"

以下是 /etc/profile 文件内容:

2

评论区