公众号旧文

为什么你的服务器登录后没有欢迎信息?

作者:胖子阅读 —

傻瓜,当然是因为你没有设置。

下面分享一个我自己在用的登录信息脚本,

让你的欢迎页不再复杂,更不再单调。

图片

登录后的展示效果如上,远程地址就是你当前连接服务器的设备的地址,本地地址就是你的服务器的地址(图中我的俩地址被我抹掉了),剩下的都是字面意思,颜色可以自行在脚本中修改为你喜欢的颜色。

这是我当前最喜欢的一只小鸡,如果你也想来一台,可以看下面的文章:

AkileCloud 流量型云服务器

一个月10块钱,年付还能优惠20块钱,一个月10块钱的成本就可以体验并且学习Linux相关的知识和技术,投入回报比很高的。

如果你觉得贵,还有下面的这个年付的,更便宜:

如果你也想有一台自己的服务器,请看过来。

在当前的AI时代,真心推荐每个人都掌握一点点编程和服务器知识,未来人类的生活只会越来越自动化,我已经准备好了积极的拥抱这个世界的变化,希望你也一样。

最后是脚本代码:

# 仅在交互 shell 执行
[[ $- != *i* ]] &&
return
# 仅 SSH 登录时显示
if
 [ -n
"
$SSH_CONNECTION
"
 ];
then

read
 -r cip cport sip sport <<<
"
$SSH_CONNECTION
"

# 1. 基础信息
    load_avg=$(
cat
 /proc/loadavg | awk
'{print $1", "$2", "$3}'
)
    up_time=$(
uptime
 -p | sed
's/up //'
)
    user_count=$(
who
 |
wc
 -l)
    tcp_count=$(ss -ant state established | grep -v 127.0.0.1 |
wc
 -l)

# 2. 内存
    mem_raw=$(free -m | awk
'/^Mem:/'
)
    mem_total=$(
echo

"
$mem_raw
"
 | awk
'{print $2}'
)
    mem_avail=$(
echo

"
$mem_raw
"
 | awk
'{print $7}'
)
    mem_used=$(( mem_total - mem_avail ))
    mem_pct=$(( mem_used *
100
 / mem_total ))

# Swap
    swp_raw=$(free -m | awk
'/^Swap:/'
)
    swp_total=$(
echo

"
$swp_raw
"
 | awk
'{print $2}'
)
    swp_used=$(
echo

"
$swp_raw
"
 | awk
'{print $3}'
)

# 3. 磁盘
    disk_raw=$(
df
 -h / | awk
'NR==2'
)
    disk_total=$(
echo

"
$disk_raw
"
 | awk
'{print $2}'
)
    disk_avail=$(
echo

"
$disk_raw
"
 | awk
'{print $4}'
)
    disk_pct_val=$(
echo

"
$disk_raw
"
 | awk
'{print $5}'
 |
tr
 -d
'%'
)

# 4. 网络流量
    net_dev=$(ip route get 8.8.8.8 2>/dev/null | awk
'{print $5}'
 |
head
 -n1)
    rx_gb=$(awk -v dev=
"
$net_dev
:"

'$1==dev {printf "%.2f", $2/1024/1024/1024}'
 /proc/net/dev)
    tx_gb=$(awk -v dev=
"
$net_dev
:"

'$1==dev {printf "%.2f", $10/1024/1024/1024}'
 /proc/net/dev)

# 防止空值
    rx_gb=
${rx_gb:-0.00}
    tx_gb=
${tx_gb:-0.00}
    disk_pct_val=
${disk_pct_val:-0}

# 5. 颜色定义
    T_BLUE=
'\e[1;34m'
    C_CYAN=
'\e[0;36m'
    C_PURP=
'\e[0;35m'
    C_RED=
'\e[1;31m'
    RESET=
'\e[0m'

# 6. 动态颜色
    [[
$mem_pct
 -gt 85 ]] && M_COLOR=
$C_RED
 || M_COLOR=
$C_PURP
    [[
$disk_pct_val
 -gt 85 ]] && D_COLOR=
$C_RED
 || D_COLOR=
$C_PURP

echo
 -e
"\n
${T_BLUE}
══ 网络连接 ══
${RESET}
"

echo
 -e
"  远程地址:
${C_CYAN}$cip
:$cport
${RESET}
"

echo
 -e
"  本地地址:
${C_CYAN}$sip
:$sport
${RESET}
"

echo
 -e
"  活跃连接:
${C_PURP}
$tcp_count
${RESET}
 (ESTAB) | 总流量:
${C_PURP}
↓
${rx_gb}
GB ↑
${tx_gb}
GB
${RESET}
"

echo
 -e
"\n
${T_BLUE}
══ 系统资源 ══
${RESET}
"

echo
 -e
"  运行时长:
${C_PURP}
$up_time
${RESET}
"

echo
 -e
"  系统负载:
${C_PURP}
$load_avg
${RESET}
"

echo
 -e
"  内存占用:
${M_COLOR}${mem_pct}
% (
${mem_used}
MB /
${mem_total}
MB)
${RESET}
"

if
 [
"
$swp_total
"
 -gt 0 ];
then

echo
 -e
"  虚拟内存:
${C_PURP}${swp_used}
MB /
${swp_total}
MB
${RESET}
"

fi

echo
 -e
"  磁盘剩余:
${D_COLOR}$disk_avail
 /
$disk_total
 (已用
$disk_pct_val
%)
${RESET}
"

echo
 -e
"  在线用户:
${C_PURP}$user_count
 个会话
${RESET}
"

echo

""
fi

用法:登录后输入 nano ~/.bashrc

CTRL+K删除全部内容,再复制粘贴上面的脚本,再按CTRL+O写入,再按CTRL+X退出,之后断开ssh连接再重新登录,就可以看到效果了。