Linux终端shell颜色相关
来自三线的随记
copy from https://blog.csdn.net/wisemale/article/details/82112462
1. Linux登录过程中加载配置文件顺序:
/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
2. Shell命令提示符及颜色是由PS1来配置:
[root@/etc/init.d] echo $PS1 [\[\e[32;40m\]\u@\w]
其中PS1常用的参数含义如下:
\d :#代表日期,格式为weekday month date,例如:"Mon Aug 1" \H :#完整的主机名称 \h :#仅取主机的第一个名字 \t :#显示时间为24小时格式,如:HH:MM:SS \T :#显示时间为12小时格式 \A :#显示时间为24小时格式:HH:MM \u :#当前用户的账号名称 \v :#BASH的版本信息 \w :#完整的工作目录名称 \W :#利用basename取得工作目录名称,所以只会列出最后一个目录 \# :#下达的第几个命令 \$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$
3. 颜色值设置: PS1中设置字符颜色的格式为:
\e[F;Bm
其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。颜色表如下:
F B 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色
根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:
#PS1='[
\u@\h \w \t]$ '
4. 以笔者的~/.bashrc配置为例:
[root@~]# cat ~/.bashrc # .bashrc # User specific aliases and functions export PS1='[\[\e[32;40m\]\u@\w]\$ ' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi
5. 修改完成后重新加载下~/.bashrc即可生效: