修改bash终端命令行颜色

Posted Lazy’s Operation Notes

tags:

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

要修改linux终端命令行颜色,我们需要用到PS1,PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。在终端输入命令:#set,即可在输出中找到关于PS1的定义如下:

  PS1=\'[\\u@\\h \\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时,提示符为:# ,普通用户则为:$  

 

  由此,我们可知linux默认的命令行提示信息为:[当前用户的账号名称@主机的第一个名字 工作目录的最后一项]#

  2.颜色的设置

  在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=\'[\\[\\e[32;40m\\]\\u@\\h \\w \\t]$ \'

  3.修改.bashrc文件

  通过上面的设置只能改变当前终端的命令行格式,关闭这个终端,在重新打开的一个终端中命令行格式又会恢复到默认的形式。想要永久性的改变终端命令行格式,需要修改.bashrc文件。

  使用命令:

 #cd /
 #ls -l -a

  就能看到.bashrc这个文件。使用命令

 #gedit .bashrc

  在.bashrc文件中加入

 PS1=\'[\\[\\e[32;40m\\]\\u@\\h \\w \\t]$ \'

  然后保存,就可以永久性的改变终端命令行格式了

 

范例1:

PS1=$\'\\\\[\\E[1m\\E[31m\\\\][\\\\u@\\h \\\\W]# \\\\[\\E[0;10m\\\\]\'

范例2:

export PS1=$\'\\\\[\\E[1m\\E[34m\\\\]┌─[\\\\[\\E[1m\\E[32m\\\\]\\\\u@\\h \\\\[\\E[1m\\E[33m\\\\]\\\\w\\\\[\\E[1m\\E[34m\\\\]]\\n\\\\[\\E[1m\\E[34m\\\\]└──── www.abc.com \\\\[\\E[1m\\E[33m\\\\]#\\[\\E[0;10m\\\\] \'

 

以上是关于修改bash终端命令行颜色的主要内容,如果未能解决你的问题,请参考以下文章

修改linux环境变量使终端命令行颜色和样式改变

Linux ubuntu 修改终端普通用户root用户命令(命令行)配色(颜色)(命令行自动计数)(/etc/profile)(~/bashrc)(source命令)

修改Mac终端(Terminal)的背景颜色

linux修改终端输入见面颜色

Mac系统终端命令行不执行命令 总出现command not found解决方法

linux怎样修改目录字体颜色