linux命令行颜色

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$"

 shell获取日期

echo `date +"%Y-%m-%d %H:%M:%S"`

 

选择完显示内容,接下里可以对每一部分分别添加颜色来进行区分。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;47;1m显示内容\e[0m"

语法同上\033开头

 echo -e "\033[37;40;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        

 

注:可以把所有的033换为E
例:

echo -e "\033[45;37m 紫色底白字 \033[0m"

等同于

echo -e "\E[45;37m 紫色底白字 \E[0m"

ANSI控制码:

cat << EOF
\
33[0m 关闭所有属性 \33[01m 设置高亮度 \33[04m 下划线 \33[05m 闪烁 \33[07m 反显 \33[08m 消隐 \33[30m -- \33[37m 设置前景色 \33[40m -- \33[47m 设置背景色 \33[nA 光标上移n行 \33[nB 光标下移n行 \33[nC 光标右移n行 \33[nD 光标左移n行 \33[y;xH设置光标位置 \33[2J 清屏 \33[K 清除从光标到行尾的内容 \33[s 保存光标位置 \33[u 恢复光标位置 \33[?25l 隐藏光标 \33[?25h 显示光标 例如: 让字体变为红色并且不停的闪烁 #echo -e "\033[31m \033[05m 请确认您的操作,输入 [Y/N] \033[0m" EOF

 

posted @ 2023-10-20 10:34  fieldtianye  阅读(166)  评论(0)    收藏  举报