`
tcspecial
  • 浏览: 895807 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux 终端控制符

    博客分类:
  • OS
阅读更多

     最近看redis源码,redis-cli源码中出现很多奇怪的字符串如"\x1b[0K",谷歌发现这是Linux终端特殊控制符,可以控制终端的显示效果,如清屏,前景背景色设置,字体设置等。

可通过命令:man console_codes 查看详细文档。

 

\x1b 表示16进制码1b,1b对应ascii码是ESC,参见ANSI标准,前缀1B赋予序列新含义。

[是一个CSI(Control sequence introducer),转义序列作用由最后一个字符决定,即K(清除行)

0是参数,表恢复默认属性。

该语句的含义是:清除光标右边文本

 

echo -e "\x1b[2J#清屏,也可以表示\033[2J(8进制)

echo -e "\x1b[34m#设置前景色为34(蓝色)

 

一. 常用属性

1.常用控制码

\x1b[0m                 关闭所有属性

\x1b[1m                 设置高亮度

\x1b[4m                 下划线

\x1b[5m                 闪烁

\x1b[7m                 反显

\x1b[8m                 消隐

\x1b[30m -- \x1b[37m    设置前景色

\x1b[40m -- \x1b[47m    设置背景色

\x1b[nA                 光标上移n行

\x1b[nB                 光标下移n行

\x1b[nC                 光标右移n列

\x1b[nD                 光标左移n列

\x1b[y;H                设置光标位置

\x1b[2J                 清屏

\x1b[K                  清除从光标到行尾的内容

\x1b[s                  保存光标位置

\x1b[u                  恢复光标位置

\x1b[?25l               隐藏光标

\x1b[?25h               显示光标

 

2.文字背景色彩数字: (颜色范围:40 - 49)

40:    黑色

41:    深红色

42:    绿色

43:    黄色

44:    蓝色

45:    紫色

46:    深绿色

47:    白色

 

3.文字前景色数字: (颜色范围: 30 - 39)

30:    黑色

31:    红色

32:    绿色

33:    黄色

34:    蓝色

35:    紫色

36:    深绿色

37:    白色

 

4. 其它

0:重置默认效果          如显示红色效果:printf "\x1b[31mhello\x1b[0m",注:securecrt仿真终端设置为xterm

1:加粗

2:半高亮,效果不明显

4:下划线

5:闪烁#这个比较好玩,echo -e "\x1b[5mhelloworld\x1b[0m",发现helloworld在不停闪烁

 

二.进度条实现

 

#!/bin/sh

showprogress()
{
        code=""
        for((i=1;i<=20;i++)); do
                code=${code}"$1"

                if [ $2 -eq "1" ]; then
                        printf "%3d%% \x1b[31m%s\x1b[0m\r" $(($i*5)) $code
                else
                        printf "%3d%% \x1b[41m\x1b[31m%s\x1b[0m\r" $(($i*5)) $code
                fi
                sleep 0.5
        done
        echo
}

showprogress "#" 1
showprogress "1" 2

 

 效果:

 

 

 

 

 

  • 大小: 3.5 KB
分享到:
评论

相关推荐

    matlab代码黄色-picture_viewer_matlab:在Linux终端中查看图片的工具

    Linux终端控制字体的颜色和显示方式 终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。 转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为...

    嵌入式Linux C编程入门(第2版) PPT

    第5章 嵌入式linux c语言基础——控制语句及函数 138 5.1 嵌入式linux c语言程序结构概述 138 5.1.1 嵌入式linux c语言3种程序结构 138 5.1.2 嵌入式linux c语言基本语句 139 5.2 选择语句 142 5.2.1...

    嵌入式Linux应用程序开发标准教程(第2版全)

    6.2 Linux中文件及文件描述符概述 6.3 底层文件I/O操作 6.3.1 基本文件操作 6.3.2 文件锁 6.3.3 多路复用 6.4 嵌入式Linux串口应用编程 6.4.1 串口概述 6.4.2 串口设置详解 6.4.3 串口使用详解 6.5 标准I/O编程 ...

    Linux编程从入门到精通

    10.4.3 Linux下的进程控制 312 10.5 可移植条件编译 313 10.6 补充说明 314 附录 以字母顺序排列的系统调用 315 第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的...

    LINUX编程白皮书 (全集)

    10.4.3 Linux下的进程控制 312 10.5 可移植条件编译 313 10.6 补充说明 314 附录 以字母顺序排列的系统调用 315 第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的...

    linux编程白皮书

    10.4.3 Linux下的进程控制 312 10.5 可移植条件编译 313 10.6 补充说明 314 附录 以字母顺序排列的系统调用 315 第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的...

    RED HAT LINUX 6大全

    本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...

    Linux程序设计 第4版.haozip01

    3.6.5 文件流和文件描述符 99 3.7 文件和目录的维护 100 3.7.1 chmod系统调用 100 3.7.2 chown系统调用 100 3.7.3 unlink、link和symlink系统调用 100 3.7.4 mkdir和rmdir系统调用 101 3.7.5 chdir系统调用和...

    《Linux从入门到精通》

    E.8.2 当我用startx命令启动X时, 我得到一个出错信息说没有安装服务器, 并回到提示符. 哪里出错了? E.8.3 当我启动X时, 我只看到灰色的背景和一个X光标. E.8.4 我如何客户化X窗口管理器? E.8.5 我不喜欢想Windows...

    Linux从入门到精通

    E.8.2 当我用startx命令启动X时, 我得到一个出错信息说没有安装服务器, 并回到提示符. 哪里出错了? E.8.3 当我启动X时, 我只看到灰色的背景和一个X光标. E.8.4 我如何客户化X窗口管理器? E.8.5 我不喜欢想Windows...

    linux从入门到精通.chm

    E.8.2 当我用startx命令启动X时, 我得到一个出错信息说没有安装服务器, 并回到提示符. 哪里出错了? E.8.3 当我启动X时, 我只看到灰色的背景和一个X光标. E.8.4 我如何客户化X窗口管理器? E.8.5 我不喜欢想Windows...

    Linux程序设计 第4版.haozip02

    3.6.5 文件流和文件描述符 99 3.7 文件和目录的维护 100 3.7.1 chmod系统调用 100 3.7.2 chown系统调用 100 3.7.3 unlink、link和symlink系统调用 100 3.7.4 mkdir和rmdir系统调用 101 3.7.5 chdir系统调用和...

    八皇后递归算法C代码实现

    八皇后递归算法C代码实现 输出格式如下: |Q| | | | | | | | | | | | |Q| | | | | | | | | | | |Q| | | | | | |Q| | | | | |Q| | | | | | | | | | | | |Q| | ...linux终端输出有横线(ASCII控制符)。

    2005详细介绍Linux从入门到精通

    E.8.2 当我用startx命令启动X时, 我得到一个出错信息说没有安装服务器, 并回到提示符. 哪里出错了? E.8.3 当我启动X时, 我只看到灰色的背景和一个X光标. E.8.4 我如何客户化X窗口管理器? E.8.5 我不喜欢想Windows...

    嵌入式Linux应用程序开发详解

    6.2 Linux中文件及文件描述符概述 168 6.3 不带缓存的文件I/O操作 168 6.3.1 open和close 168 6.3.2 read、write和lseek 170 6.3.3 fcntl 173 6.3.4 select 178 6.4 嵌入式Linux串口应用开发 ...

    linux网络编程教程

    Linux系统中,文件可以是一个真正存储在磁盘上的文件、一个FIFO、一个管道、一个终端、一个网络连接或者系统中的任何其他的东西。文件描述符是一个和打开的文件相关连的整数。因为在Linux系统中,所有的I/O操作都是...

Global site tag (gtag.js) - Google Analytics