ITmob-Ly
发布于 2021-12-16 / 631 阅读
0

Linux修改终端的颜色,字体和背景显示

终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。

  1. 转义序列以控制字符’ESC’开头。该字符的ASCII码十进制表示为27,十六进制表示为0x1B,八进制表示为033。

  2. 多数转义序列超过两个字符,故通常以’ESC’和左括号’[‘开头。该起始序列称为控制序列引导符(CSI,Control SequenceIntro),通常由’\033[‘或’\e[‘代替。

  3. 通过转义序列设置终端显示属性时,可采用以下格式:\033[ Param {;Param;…}m 或 \e[ Param {;Param;…}m

[root@host ~]# echo -e "\033[1;37;41m Hello! \033[0m  ITmob.cn"
 Hello!   ITmob.cn 
[root@host ~]# echo -e "\x1B[1;37;41m Hello! \033[0m  ITmob.cn"
 Hello!   ITmob.cn 
[root@host ~]# echo -e "\E[1;37;41m Hello! \033[0m  ITmob.cn"
 Hello!   ITmob.cn 
[root@host ~]# echo -e "\033[0;30;44m Hello! \033[0m  ITmob"
 Hello!   ITmob 
[root@host ~]# echo -e "\033[0;33;41m Hello! \033[0m  ITmob"
 Hello!   ITmob 

Shellechocolorfultext.jpg

输出特效格式控制:

\033[0m     关闭所有属性
\033[1m     设置高亮度
\03[4m     下划线
\033[5m     闪烁
\033[7m     反显
\033[8m     消隐
\033[30m -- \033[37m   设置前景色
\033[40m -- \033[47m   设置背景色

背景颜色范围:40--49 文字颜色: 30--39
40:黑     30: 黑
41:红     31: 红
42:绿     32: 绿
43:黄     33: 黄
44:蓝     34: 蓝
45:紫     35: 紫
46:深绿     36: 深绿
47:白色     37: 白色

光标位置格式控制:

\033[nA     光标上移n行
\03[nB     光标下移n行
\033[nC     光标右移n行
\033[nD     光标左移n行
\033[y;xH     设置光标位置
\033[2J     清屏
\033[K     清除从光标到行尾的内容
\033[s     保存光标位置
\033[u     恢复光标位置
\033[?25l     隐藏光标
\33[?25h     显示光标