外观
Linux 登录欢迎页
约 766 字大约 3 分钟
ShellLinux登录提示profile.d
2026-06-18
一个轻量的登录欢迎页脚本,安装到 /etc/profile.d/welcome.sh 后,用户登录交互式 shell 时会显示主机名、当前时间、运行时间、负载、内存和根分区磁盘使用情况。
功能特性
| 特性 | 说明 |
|---|---|
| 登录自动显示 | 通过 /etc/profile.d/welcome.sh 在登录时自动输出 |
| 信息简洁 | 展示主机名、时间、运行时长、负载、内存和磁盘 |
| 兼容兜底 | uptime -p 不支持时自动从 /proc/uptime 换算 |
| 内存兼容 | 无 free 命令时自动读取 /proc/meminfo |
| 非交互跳过 | 非交互 shell 自动退出,避免影响脚本、scp、rsync 等任务 |
快速开始
以下命令会把脚本永久安装到 /etc/profile.d/welcome.sh,重新登录后自动显示欢迎页。需要 root 权限;如果当前不是 root,会自动使用 sudo。
使用 curl:
curl -sL https://script.merma.cn/scripts/shell/ToolScript/login_welcome.sh -o /tmp/login_welcome.sh && if [ "$(id -u)" -eq 0 ]; then mkdir -p /etc/profile.d && cp /tmp/login_welcome.sh /etc/profile.d/welcome.sh && chmod 0644 /etc/profile.d/welcome.sh; else sudo sh -c 'mkdir -p /etc/profile.d && cp /tmp/login_welcome.sh /etc/profile.d/welcome.sh && chmod 0644 /etc/profile.d/welcome.sh'; fi; rm -f /tmp/login_welcome.sh使用 wget:
wget -qO /tmp/login_welcome.sh https://script.merma.cn/scripts/shell/ToolScript/login_welcome.sh && if [ "$(id -u)" -eq 0 ]; then mkdir -p /etc/profile.d && cp /tmp/login_welcome.sh /etc/profile.d/welcome.sh && chmod 0644 /etc/profile.d/welcome.sh; else sudo sh -c 'mkdir -p /etc/profile.d && cp /tmp/login_welcome.sh /etc/profile.d/welcome.sh && chmod 0644 /etc/profile.d/welcome.sh'; fi; rm -f /tmp/login_welcome.sh临时预览
只想看一次输出,不安装到系统:
使用 curl:
curl -sL https://script.merma.cn/scripts/shell/ToolScript/login_welcome.sh -o /tmp/login_welcome.sh && sh /tmp/login_welcome.sh; rm -f /tmp/login_welcome.sh使用 wget:
wget -qO /tmp/login_welcome.sh https://script.merma.cn/scripts/shell/ToolScript/login_welcome.sh && sh /tmp/login_welcome.sh; rm -f /tmp/login_welcome.sh生效方式
重新登录 SSH 后自动显示。也可以在当前终端手动验证:
sh /etc/profile.d/welcome.sh输出示例
欢迎登录:web-server-01
当前时间:2026-06-18 10:30:25
运行时间:up 5 days, 3 hours, 12 minutes
负载: 0.08, 0.10, 0.06
内存:已用 1.2G / 总计 3.7G
磁盘:根分区已用 42%适用系统
| 系统 | 说明 |
|---|---|
| AlmaLinux 9 | 支持,安装到 /etc/profile.d/welcome.sh 后重新登录生效 |
| CentOS 7 | 支持,uptime -p 不可用时会自动从 /proc/uptime 换算 |
| Ubuntu 22.04 / 24.04 | 支持 |
| Debian 12 | 支持 |
| openSUSE Leap latest | 支持 |
| Alpine 3.20 | 支持,常见 BusyBox 环境下内存信息会走 /proc/meminfo 兜底 |
| redis:7 容器镜像 | 脚本可安装;但 Redis 容器通常没有 SSH 登录流程,只在进入交互式 shell 且 shell 加载 /etc/profile 时有意义 |
容器镜像通常默认 root 且不一定内置
sudo,上面的命令会优先判断是否为 root。若镜像没有curl或wget,需要先安装下载工具,或从宿主机复制脚本到/etc/profile.d/welcome.sh。
卸载
if [ "$(id -u)" -eq 0 ]; then rm -f /etc/profile.d/welcome.sh; else sudo rm -f /etc/profile.d/welcome.sh; fi注意事项
- 脚本应放在
/etc/profile.d/welcome.sh,由系统登录流程加载。 - 脚本只输出信息,不修改系统配置。
- 脚本调用
date、uptime、free等基础命令时会绕过 alias/function,避免登录环境自定义别名影响输出。 - 直接执行脚本会输出欢迎页;被非交互 shell source 时会自动跳过,避免影响自动化任务。
- 如果希望只对某个用户生效,可以把脚本内容放到该用户的
~/.bash_profile或~/.profile。
下载: login_welcome.sh