修改linux终端命令行颜色

  • A+
所属分类:技术分享

最近因为工作需要,一直在使用linux操作系统(Cent5.0)。很讨厌linux终端命令行一成不变的风格,而且不容易与输出内容区分,很容易看花眼。于是上网找了找修改linux终端命令行颜色的方法,自己对那些方法进行了验证,最终找到了有效的修改linux终端命令行颜色的方法。(以工作在root用户下为例)

修改linux终端命令行颜色

1.PS1

要修改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]$ '

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