9月 18, 2016 - Linux, 开发笔记    1 评论

linux 下更改命令行的颜色

使用CentOS6 时 始终觉得linux终端命令行全部为白色比较枯燥,会经常导致命令与输出内容难以分辨。于是上网找到修改linux终端命令行颜色的方法,发现通过定义PS1环境变量即可实现,下面我以root用户身份进行操作。

更改前是这种状态:

更改后的颜色:

 

好了首先感兴趣的可以详细看一下PS1这个命令,不想看的直接忽略这一步: PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。在命令行直接输入:set | grep 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用户,提示符为 # ,普通用户则为 $

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 白色

比如要设置命令行的格式为绿字黑底(\[\e[32;40m\]),显示当前用户的账号名称(\u)、主机的第一个名字(\h)、完整的当前工作目录名称(\w)、24小时格式时间(\t),可以直接在命令行键入如下命令:

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

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

3.修改bashrc 文件(在/etc/下面)

#  vim /etc/bashrc

加上自己喜欢的颜色这一行:比如我自己设置的:

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

保存退出即可

重新加载bash配置文件

# source bashrc

即可生效了(永久生效)

评论被关闭。