文章目录
- Linux PS1 介绍
- PS1 纯文本和特殊的转义序列
- PS1 颜色设置
Linux PS1 介绍
在Linux中,PS1(Prompt String 1)是一个环境变量,用来定义shell命令提示符的显示内容和格式。当你在终端中输入命令时,PS1定义的就是那个通常显示在光标左侧的提示符。 PS1可以包含纯文本和特殊的转义序列。转义序列以反斜杠开始,用来插入例如日期、时间、用户名、当前目录等动态信息。
查看 PS1 当前配置:
在/etc/.bashrc
中找 PS1变量的定义,如果没有,可以手动加上:
export PS1="\[\e]2;\u@\H \w\a\e[32;1m\]>\[\e[0m\]"
PS1 纯文本和特殊的转义序列
下面简单说说上文环境下默认的特殊符号所代表的意义:
\d
:代表日期,格式为weekday month date,例如:“Mon Aug1”
\H
:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h
:仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t
:显示时间为24小时格式,如:HH:MM:SS
\T
:显示时间为12小时格式
\A
:显示时间为24小时格式:HH:MM
\u
:当前用户的账号名称
\v
:BASH的版本信息
\w
:完整的工作目录名称。家目录会以 ~代替
\W
:利用basename取得工作目录名称,所以只会列出最后一个目录
\#
:下达的第几个命令
\$
:提示字符,如果是root时,提示符为:# ,普通用户则为:$
\!
:表示历史命令计数。
例如,我们可以这样设置PS1:
export PS1="\u@\h:\w\$ "
这将会使得提示符显示为 "username@hostname:working_directory$
"。例如:"user@localhost:~$
"。
PS1 颜色设置
我们可以通过设置PS1变量使提示符成为彩色。在PS1中设置字符序列颜色的格式为:
\[\e[F;Bm\]
其中 F 为字体颜色,编号30~37
;B为背景色,编号40~47
。
可通过 \e[0m
关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,详细请看下面的颜色表与代码表。
PS1 颜色表
前景 | 背景 | 颜色 |
---|---|---|
30 | 40 | 黑色 |
31 | 41 | 红色 |
32 | 42 | 绿色 |
33 | 43 | 黃色 |
34 | 44 | 蓝色 |
35 | 45 | 紫紅色 |
36 | 46 | 青蓝色 |
37 | 47 | 白色 |
代码 | 意义 |
---|---|
0 | OFF |
1 | 高亮显示 |
4 | underline |
5 | 闪烁 |
7 | 反白显示 |
8 | 不可见 |