终端控制字符

我们见过很多终端,比如windows下的cmd窗口,linux的shell,telnet。

终端的核心功能是人机交互(用户输入信息或控制字符,终端显示信息,包括控制字体颜色,光标位置,删除字符等)

vim中控制光标位置,也用的是这个ANSI控制码。 \033[ ,其中\033是8进制ESC,[就是'['

ANSI 控制码-CSDN博客

shell脚本中的控制字符 https://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 
格式如下: 

echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 
例如: 

echo -e "\033[41;36m something here \033[0m" 
其中41的位置代表底色, 36的位置是代表字的颜色 
注: 
  1、字背景颜色和文字颜色之间是英文的"" 
  2、文字颜色后面有个m 
  3、字符串前后可以没有空格,如果有的话,输出也是同样有空格 
  下面是相应的字和背景颜色,可以自己来尝试找出不同颜色搭配 
例 

echo -e “\033[31m 红色字 \033[0m” 
echo -e “\033[34m 黄色字 \033[0m” 
echo -e “\033[41;33m 红底黄字 \033[0m” 
echo -e “\033[41;37m 红底白字 \033[0m” 
字颜色:30—–37 

  echo -e “\033[30m 黑色字 \033[0m” 
  echo -e “\033[31m 红色字 \033[0m” 
  echo -e “\033[32m 绿色字 \033[0m” 
  echo -e “\033[33m 黄色字 \033[0m” 
  echo -e “\033[34m 蓝色字 \033[0m” 
  echo -e “\033[35m 紫色字 \033[0m” 
  echo -e “\033[36m 天蓝字 \033[0m” 
  echo -e “\033[37m 白色字 \033[0m” 

字背景颜色范围:40—–47 
  echo -e “\033[40;37m 黑底白字 \033[0m” 
  echo -e “\033[41;37m 红底白字 \033[0m” 
  echo -e “\033[42;37m 绿底白字 \033[0m” 
  echo -e “\033[43;37m 黄底白字 \033[0m” 
  echo -e “\033[44;37m 蓝底白字 \033[0m” 
  echo -e “\033[45;37m 紫底白字 \033[0m” 
  echo -e “\033[46;37m 天蓝底白字 \033[0m” 
  echo -e “\033[47;30m 白底黑字 \033[0m” 

最后面控制选项说明 

  \33[0m 关闭所有属性 
  \33[1m 设置高亮度 
  \33[4m 下划线 
  \33[5m 闪烁 
  \33[7m 反显 
  \33[8m 消隐 
  \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 显示光标

telnet的控制字符 TELNET 协议控制字符-CSDN博客

 一、 锁\开键盘代码
  代码定义:
    锁键盘:ESC[2h
    开键盘:ESC[2l
  应用:
  1.直接在键盘上顺序敲入Esc+[+2+h四键,键盘即被锁住。
  2.在C语言程序显示字符串中包含锁代码:printf(″%c[2h字串″,'\033')。
  3.在shell程序中用echo命令:echo″^[[2h字串″.注Esc键在vi编辑器中输入方法
为:Ctrl+v,然后按一下Esc键,在屏幕上显示^[表示已输入。
  同样显示开锁代码则键盘被解锁。
  二、 删除字符代码
  代码定义:
  ESC[nX:清除光标右边n个字符,光标不动。
  ESC[K或ESC[OK;清除光标右边全部字符,光标不动。
  ESC[1K:清除光标左边全部字符,光标不动。
  ESC[2K:清除整行,光标不动。
  ESC[J或ESC[OJ:清除光标右下屏所有字符,光标不动。
  ESC[1J:清除光标左上屏所有字符,光标不动。
  ESC[2J或ESCc:清屏,光标移到左上角。
  ESC[nM:删除光标之下n行,剩下行往上移,光标不动。
  ESC[nP:删除光标右边n个字符,剩下部分左移,光标不动。
  应用:
  一般用于自己开发的编辑器中或涉及行编辑的应用程序中。
  三、 插入字符代码
  代码定义:
  ESC[n@:在当前光标处插入n个字符。
  ESC[nL:在当前光标下插入n行。
  应用:
  一般用于自己开发的编辑器中或涉及行编辑的应用程序中。
  四、 移动光标
  代码定义:
  ESC[nA:光标上移n行。
  ESC[nB:光标下移n行。
  ESC[nC:光标右移n个字符。
  ESC[nD:光标左移n个字符。
  ESC[n;mH :光标定位到第n行m列(类似代码ESC[n;mf)。
  应用:
  1.一般用于自己开发的编辑器中或涉及行编辑的应用程序中。
  2.用shell编辑的菜单程序中定位光标,如:
  echo″^[[10;30H请选择:[ ]^[[9C\c″,则先把光标定位到10行30列,然后显示″
请选择[ ]″,最后光标右移9个符定位到中括号内等待用户响应。
  五、 定义字符显示属性代码
  代码定义:
  ESC[p;p;p;……m 其中属性值p可以是一个或多个,具体定义如下:
  p 含义
  0 清除所有属性
  1 高亮度显示
  4 下划线(如果硬件支持的话)
  5 闪烁(如果硬件支持的话)
  25 无闪烁
  7 反场(前背景交换)
  27 无反场
  8 隐藏(不显示)
  10 选择基本字体
  11 选择第一替代字体;让ASCII值小于32的字符显示时直接取自ROM芯片内
  12 选择第二替代字体;在作为ROM字符显示之前先压缩扩展高位ASCII码值
  30 前景黑色
  31 前景红色
  32 前景绿色
  33 前景褐色
  34 前景蓝色
  35 前景紫色
  36 前景蓝绿色
  37 前景白色
  38 开启下划线标志;白色前景用白色下划线
  39 关闭下划线标志
  40 背景黑色
  41 背景红色
  42 背景绿色
  43 背景褐色
  44 背景蓝色
  45 背景紫色
  46 背景蓝绿色
  47 背景白色
  应用:
  unix系统提供的setcolor命令是以行为单位改变颜色,在实际运用中有它的局限性
,上面提到的控制代码在日常生活中用得最多,尤其适合于彩色弹出式立体菜单的设计
。如我设计的中心机房值班程序,由于用了这些控制代码,界面非常友好。
  六、其它代码
  代码定义:
  ESC7:保存当前光标位置参数及字符属性。
  ESC8:恢复保存的光标位置参数及字符属性。
  \n :插入换行符
  \t :插入一个Tab键。
  \r :插入回车符。
  ^G :插入响铃符(pc嗽叭鸣叫一次),在vi中按Ctrl+g即可输入。
  \c :用于shell程序中,不换行。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值