PS1应用之——修改linux终端命令行各字体颜色

  最近在学习linux操做系统(CentOS 6 & CentOS 7)。以为linux终端命令行所有为白色,会常常致使命令与输出内容难以分辨。因而上网找到修改linux终端命令行颜色的方法,发现经过定义PS1环境变量便可实现,下面我以root用户身份进行操做。html

 

1.了解PS1linux

  PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。vim


  在终端输入命令:bash

# echo $PS1

  可获得当前PS1的定义值:post

PS1='[\u@\h \W]\$ '

 

  PS1的经常使用参数以及含义:学习

  \d :表明日期,格式为weekday month date,例如:"Mon Aug 1"测试

  \H :完整的主机名称字体

  \h :仅取主机名中的第一个名字url

  \t :显示时间为24小时格式,如:HH:MM:SSspa

  \T :显示时间为12小时格式

  \A :显示时间为24小时格式:HH:MM

  \u :当前用户的帐号名称

  \v :BASH的版本信息

  \w :完整的工做目录名称

  \W :利用basename取得工做目录名称,只显示最后一个目录名

  \# :下达的第几个命令

  \$ :提示字符,若是是root用户,提示符为 # ,普通用户则为 $

 

  因此linux默认的命令行提示信息的格式
   PS1='[\u@\h \W]\$ '  的意思就是:[当前用户的帐号名称@主机名的第一个名字 工做目录的最后一层目录名]#

 

2.颜色设置参数

  在PS1中设置字符颜色的格式为:\[\e[F;Bm\]........\[\e[0m\],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,\[\e[0m\]做为颜色设定的结束。

  颜色对照表:

    F    B

    30  40 黑色

    31  41 红色

    32  42 绿色

    33  43 黄色

    34  44 蓝色

    35  45 紫红色

    36  46 青蓝色

    37  47 白色

   只需将对应数字套入设置格式中便可。
  好比要设置命令行的格式为绿字黑底(\[\e[32;40m\]),显示当前用户的帐号名称(\u)、主机的第一个名字(\h)、完整的当前工做目录名称(\w)、24小时格式时间(\t),能够直接在命令行键入以下命令:

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

 

  通过屡次测试后,最终肯定了一个适合我本身的格式:

# PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "

 

  但注意这样的设置只是临时性的.

 

3.修改.bashrc文件,永久保存命令行样式.

  上面的设置的做用域只有当前终端的登录有效,关闭终端或退出登陆即刻失效。要想永久性的保存设置,须要修改.bashrc配置文件。

  键入命令:

1 # cd
2 # ls -la

 

  如今能够看到.bashrc这个文件。

  编辑.bashrc:

# vim .bashrc

 

  加入这一行:

   PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ " 

  保存退出。

  从新加载bash配置文件:

# source .bashrc

 

  便可当即并永久生效了。

 

  效果如图,不再怕在茫茫字海中苦苦搜寻命令行的下落了.

 

: 本知识点来自于原做者博文《修改linux终端命令行颜色》,并作了些改进.感谢做者依旧淡然的分享.

相关文章
相关标签/搜索