linux 修改终端颜色

要想修改终端的颜色,可以使用修改PS1环境变量的方式,也可以通过命令setterm来进行设置。

一、PS1

转自:修改linux终端命令行颜色

1.PS1

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

  PS1='[u@h W]$ '

  PS1的定义中个常用的参数的含义如下:

  d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"   

  H :#完整的主机名称   

  h :#仅取主机的第一个名字  

    :#显示时间为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 ]$ '

  3.修改.bashrc文件(也可以通过修改etcprofile文件来实现)

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

  使用命令:#cd /

       #ls -l -a

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

  #gedit .bashrc

  在.bashrc文件中加入

  PS1="[[e[30;47m]u@h W ]$"

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

  修改完成后,一定要使用source 命令重新加载配置文件

2、通过setterm方式设置

  可以通过setterm -foreground 设置前景色

      setterm -background 设置背景色

  但是每次都要设置比较麻烦。

  为了使用方便,编写了一个shell脚本将两行命令放到termColor.sh文件中。

  每次执行sh termColor.sh命令就可以修改前景色和背景色。但是每次执行了ls命令后,颜色又变成了没有设置时的样子。有些无奈了,还是用第一种方式吧。

  另外,需要说明的是,每次都需要使用sh来执行脚本。使用ls -l命令查看,这个termColor文件没有可执行的权限(可执行的位置-),说明不是可执行文件。使用chmod修改其为可执行文件后,执行运行./termColor.sh就可以执行了。

原文地址:https://www.cnblogs.com/huanyou/p/5139486.html