linux shell基础--终端显示字体背景和字体颜色\033[0;30m

发布时间 2023-03-28 10:29:48作者: yuQbug

ANSI标准

ANSI标准规定了一种所有终端共享的指令集,并要求用ASCII的数字字符传递所有数值信息,用于控制linux终端上的光标位置、颜色和其他选项。在文本中嵌入确定的字节序列,大部分以ESC转义字符和"["字符开始,终端会把这些字节序列解释为相应的指令,而不是普通的字符编码。终端颜色就是ANSI转义序的一种应用。ANSI控制序列三部分构成:前置引导,CSI控制序列,结束符号

前置引导

前置引导器就是由ESC的ASCII码值:\033(ESC的ASCII码是十进制的27,八进制的033) 。前置引导的作用是告诉终端,这是个控制命令,终端就不会把这个引导符号后面的文本当字符串来解释。

CSI 控制序列

这个CSI序列主要是控制输出样式的,比如颜色,光标等......

CSI序列由[、若干个(包括0个)“参数字节”、若干个“中间字节”,以及一个“最终字节”组成。各部分的字符范围如下:

[<PREFIX>];[<COLOR>];[<TEXT DECORATION>]

PREFIX:使用的256的颜色模式

COLOR:输出颜色,前景色,背景色等

 TEXT DECORATION:文字装饰器,比如下划线等

 

结束符号m

最后,m指示控制序列的结尾。如[0m,没有任何特殊参数的csi序列。\033[0m即关闭转义序列,\033[0m是终端默认颜色。ESC[m这样没有参数的情况相当于参数为0。