linux命令行颜色

发布时间 2023-10-20 10:38:48作者: fieldtianye

Linux系统中的PS变量用来控制命令行设置,其中PS即是Prompt String,命令提示符的意思,可以看到有PS1,PS2,PS3,PS4(不是Play Station)等。其中最重要的就是PS1,PS2用来设置二级提示符。

修改PS中的设置就可以对命令行进行个性化的设置,不过这些都是一些奇怪的符号,不容易看懂。

\d :设置日期,格式为weekday month date,例如:“Mon Aug 1”
\H :完整的主机名称
\h :仅取主机名中的第一个名字
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\@:显示时间,为12小时格式:am/pm
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称
\W :用 bashname 取得工作目录名称,显示最后一个目录名
\# :下达的第几个命令
\$ :提示字符,如果是root用户,提示符为 # ,普通用户则为 $

这其中我们只选取需要的部分添加到命令行里即可。一般是用户名,时间,工作目录几个部分。

$ export PS1="\u \t \w \n$"

 

选择完显示内容,接下里可以对每一部分分别添加颜色来进行区分。Linux命令行终端颜色是通过一些数字来显示的。格式为“[\e[F;Bm]…[\e[0m],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47,[\e[0m]作为颜色设定的结束”。

用户名部分:\[\e[31;1m\] \u \[\e[0m\]
时间部分:\[\e[32;1m\] \t \[\e[0m\]
工作目录部分: \[\e[34;1m\] \w \[\e[0m\]
$部分设置: \n\[\e[31;1m\] $ \[\e[0m\]

每个设置都分为三部分,前面设置颜色[\e[F;Bm],其中数字代表具体颜色,这里我们不要背景色,给个数字1,然后第二部分就是之前的用户名(\u),时间(\t),工作目录(\w),换行加$提示符(\n$),最后是设置结尾部分[\e[0m],这里面加了很多“\”用来进行转义。


【linux命令行颜色】

echo -e "\e[37;34;1m显示内容\e[0m"

语法同上\033开头

 echo -e “\033[37;31;5mServer Starting…\033[0m”

从左到右 \e[前景色; 背景色; 字体格式代号m\e[0m

 

颜色前景背景 代号意义
背景色代号   字体格式
黑色 30 40   0 off
红色 31 41   01 高亮显示
绿色 32 42   04 underline
黄色 33 43   05 闪烁
蓝色 34 44   07 反白显示
紫红色 35 45   08 不可见
青蓝色 36 46      
白色 37 47      
透明色 1