Linux终端命令行提示符PS1格式修改

发布时间 2023-08-09 11:35:48作者: zephyr~

zsh

先确定你是用的 shell 类型,运行echo $SHELL

如果你使用的是 zsh,那么修改 /etc/zshrc
其中有一行设置 PS1的值的,修改为

PS1="%n@%m %1~ %# "
其它的 zsh 中转义变量

%T 系统时间(时:分)
%* 系统时间(时:分:秒)
%D 系统日期(年-月-日)
%n 你的用户名
%B - %b 开始到结束使用粗体打印
%U - %u 开始到结束使用下划线打印
%d 你目前的工作目录
%~ 你目前的工作目录相对于~的相对路径(可能在某些zsh版本可能造成乱码)
%M 计算机的主机名
%m 计算机的主机名(在第一个句号之前截断)
%l 你当前的tty

然后运行 source /etc/zshrc,或重启后生效

bash

如果你使用的是 bash
那么修改 /etc/bashrc
同样的,有一行设置 PS1的值,修改为

PS1='\u@\h \w \$'
bash 中的转义变量

\H:    #完整的主机名称。   
\h:    #仅取主机的第一个名字,到“.”结束  
\u:    #当前用户的用户名 
\w:    #完整的工作目录名称。宿主目录(如/hom/peter)会以~代替   
\W:    #利用basename取得工作目录名称,所以只会列出最后一个目录 
\$:    #提示字符,如果是root时,提示符为:#,普通用户则为:$
\#:    #显示命令的编号(如30,31...)
\t:    #显示时间为24小时格式,如:HH:MM:SS   
\T:    #显示时间为12小时格式   
\A:    #显示时间为24小时格式:  HH:MM   
\d:    #代表日期,格式为weekday month date, 例如:"Tue May 26" 
\v:    #bash的版本信息 

然后运行 source /etc/bashrc,或重启后生效

修改颜色

推荐配置
PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$'

Ref

转义符

https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html

修改颜色

https://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt.html
https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/