背景知识
PS1
PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数。
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用户,提示符为 # ,普通用户则为 $
查看默认的命令行提示信息的格式:
echo $PS1
显示如下:
[\u@\h \W]$
意思是“当前用户的账号名称@主机名的第一个名字 工作目录的最后一层目录名”
颜色设置参数
在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\]'
永久修改字体颜色
上面的设置的作用域只有当前终端的登陆有效,关闭终端或退出登录即刻失效。要想永久性的保存设置,需要修改.bashrc配置文件。
编辑.bashrc:
vim ~/.bashrc
将下面这段添加到文件末尾
PS1='\[\e[32;40m\][\A \u@\h \W]\$\[\e[0m\]'
保存,退出!
重新加载bash配置文件:
source ~/.bashrc