先创建一个linux虚拟机或者新装一个系统的时候,我们会发现一级提示符的显示格式为“[用户名@主机名 工作目录 ]#”如下图:
觉得这样看不舒服,而且不显示时间,有时候很不方便,所以这里说一下如下自定义一级提示符,可以显示如下图:
一、PS1各个转义符的含义:
转义符 | 意义 |
---|---|
\d | 代表日期,格式为周 月 日,例如“二 九月 24”,表示的就是九月二十四号星期二 |
\H | 完整的主机名称。例如主机名称为"redhat_192.168.0.12" |
\h | 仅取主机的第一个名字。以上面的主机名为例。只会显示"redhat_192" |
\t | 显示时间为24小时格式,如:时:分:秒 |
\T | 显示时间为12小时格式 |
\A | 显示时间为24小时格式:时:分 |
\u | 当前用户的账号名称 如:root |
\w | 显示完整的工作目录名称。家目录会以 ~代替 |
\W | 利用basename命令取得工作目录名称,所以只会列出最后一个目录 |
$ | 提示字符,如果是root时,提示符为:# ,普通用户则为:$ |
\v | 显示BASH的版本信息 |
# | 显示下达的第几个命令,有时候感觉很有意思,可以看到自己现在操作的命令是第几条命令 |
二、一开始一级提示符都是一种颜色,可以通过设置PS1变量使得提示符变成彩色,在PS1中设置字符序列颜色的格式为:
1.[\e[B;Cm], 其中"B"一般为字体属性,"C"为字体颜色,编号为30-39。
2.要是也想要修改背景颜色,格式为:
[\e[B;D;Cm],其中"B"为字体属性,“C"为字体颜色,编号为30-37。“D"为背景颜色,编号为40-47.
3.还原颜色:[\e[0m]
4.转义符”\e"可以使用”\033"代替
三、字体颜色,背景颜色,属性的代码
a.字体颜色
ANSI码 | 意义 |
---|---|
30 | 黑色 |
31 | 红色 |
32 | 绿色 |
33 | 黄色 |
34 | 蓝色 |
35 | 紫色 |
36 | 天蓝色 |
37 | 白色 |
b.背景颜色
ANSI码 | 意义 |
---|---|
40 | 黑色 |
41 | 红色 |
42 | 绿色 |
43 | 黄色 |
44 | 蓝色 |
45 | 紫色 |
46 | 天蓝色 |
47 | 白色 |
c.字体属性
ANSI码 | 意义 |
---|---|
0 | 常规文本 |
1 | 粗体文本 |
4 | 含下划线文本 |
5 | 闪烁文本 |
7 | 反色文本 |
8 | 不可见 |
四、加粗属性与颜色属性合并之后有变化,也就是所谓的深颜色,高亮。
五、实例:
原来的样子,如下图:
格式为:[用户名@主机名 当前工作目录]
修改PS1:
代码:
[root@redhat_192.168.0.12 ~]#PS1='\[[\e[1;36m\]\u@\[\e[1;32m\]\H \[\e[1;31m\]\t \[\e[1;36m\]\w\[\e[0m\]]\$'
看图片,很明显一级提示符已经修改为彩色的,自己想要的格式。
六、在命令行上修改只是临时修改,当重新打开另一个终端或者重启机器的时候一级提示符又会还原,想要永久修改,需要在/root/.bash_profile文件里面,如下图:
再用source命令加载/root/.bash_profile文件可以立即使配置生效,如下图: