Ubuntu使SSH更美观的小技巧

LinuxUbuntu教程
柠凉·创建于 2026年10月7日
516字·1 分钟阅读

每次 SSH 登上服务器,迎面而来的总是那副朴素的面孔:

Bash
root@localhost:~#

其实只需要改一处 PS1,就能给终端换上一枚白底黑字的「徽章」提示符——黑字白底格外醒目,用户名、主机名、当前目录一目了然,同时开着好几台机器的窗口也不容易迷路。

修改 .bashrc

编辑 root 的配置文件(普通用户同理,改 ~/.bashrc):

Bash
vim /root/.bashrc

找到这段默认配置:

Bash
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi

把它改成:

Bash
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    #PS1='\[\e[47;30m\][\u@QF \W]\$\[\e[m\] '
else
    #PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    PS1='\[\e[47;30m\][\u@PUEH \W]\$\[\e[m\] '
fi

PUEH 是给主机起的花名,可以换成任何你喜欢的名字——家里的服务器叫 HOME、手头的 VPS 叫 QF,连上哪台一眼就知道。

让配置生效

在终端输入:

Bash
. ~/.bashrc

(. 和 source 等价,都是重新读取配置文件)

或者干脆重启服务器:

Bash
reboot

生效后,提示符就变成了一块黑字白底的「徽章」:

text
[root@PUEH ~]#

它是怎么变好看的

关键在 \[\e[47;30m\] 和 \[\e[m\] 这一对 ANSI 转义序列:

代码含义
\e[ANSI 转义序列的开头
47背景色:白色
30前景色:黑色
\e[m复位,之后恢复默认配色
\u / \h用户名 / 主机名
\W当前目录的最后一截(家目录显示 ~)

外层的 \[\] 告诉 bash:这段是不可见字符,别算进提示符宽度——漏了它,换行和退格就会错位。

💡 小提示:大多数 SSH 客户端的 $TERM 是 xterm-256color,color_prompt 会是 yes,走的是上面第一个分支。想让徽章提示符在彩色终端也生效,把 yes 分支里那行 PS1 也注释掉、换成徽章版即可——示例里两个分支各留了一行注释版,方便随时切换回来。

换个颜色?

对照这张 ANSI 色号表随便搭配(前景 30–37 配背景 40–47):

前景颜色背景颜色
30黑40黑
31红41红
32绿42绿
33黄43黄
34蓝44蓝
35紫45紫
36青46青
37白47白

比如 42;30 是黑字绿底,45;97 是亮白字紫底。改完别忘了 . ~/.bashrc——一枚徽章就挂在了终端上 🏷️