Linux修改Shell命令提示符及颜色

Posted 愿此时的暖阳,也在静静照耀你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux修改Shell命令提示符及颜色相关的知识,希望对你有一定的参考价值。

1. Linux登录过程中加载配置文件顺序:

/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc]
可查看默认的~/.bashrc文件如下:

1 [root@localhost ~]$ cat ~/.bashrc 
2 # .bashrc
3 
4 # User specific aliases and functions
5 
6 # Source global definitions
7 if [ -f /etc/bashrc ]; then
8     . /etc/bashrc
9 fi

2. Shell命令提示符及颜色是由PS1来配置:

1 [root@localhost ~]$ echo $PS1
2 \\[\\e[32;40m\\][\\u@\\h \\W]$\\e[m

其中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。用 \\e[m 结束颜色设置,颜色表如下:
 

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

根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。比如要设置命令行的格式为绿字黑底,显示当前用户的账号名称、
主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:
# PS1=\'[\\[\\e[32;40m\\]\\u@\\h \\w \\t]\\$\'

 

4. 以笔者的~/.bashrc配置为例
 1 [root@localhost ~]$ cat ~/.bashrc
 2 # .bashrc
 3 
 4 # User specific aliases and functions
 5 
 6 alias rm=\'rm -i\'
 7 alias cp=\'cp -i\'
 8 alias mv=\'mv -i\'
 9 
10 PS1="\\[\\e[32;40m\\][\\u@\\h \\W]\\$\\e[m "
11 
12 # Source global definitions
13 if [ -f /etc/bashrc ]; then
14     . /etc/bashrc
15 fi

 

5.vim或者nano下修改

  重新加载下~/.bashrc即可生效:

[root@localhost ~]$ source ~/.bashrc

 

以上是关于Linux修改Shell命令提示符及颜色的主要内容,如果未能解决你的问题,请参考以下文章

自定义shell终端提示符及颜色 (以Centos为例)

Linux下自定义Shell终端提示符

Linux下自定义Shell终端提示符 𴎹

Linux下自定义Shell终端提示符 𛶅

Linux下自定义Shell终端提示符 񰶃

Linux零碎基础命令