`
tcspecial
  • 浏览: 911944 次
  • 性别: 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
分享到:
评论

相关推荐

    Linux C函数参考 终端控制篇

    在Linux系统中,C语言是开发底层程序和系统级应用的主要工具之一,而终端控制是C编程中的一个重要领域。这个“Linux C函数参考 终端控制篇”主要涵盖了与控制终端相关的C函数和概念,帮助开发者更好地理解和使用这些...

    linux终端的资料

    1. ANSI转义码:Linux终端支持ANSI转义码,通过这些码可以控制文本颜色、背景色和字体样式。例如,`\033[31m`代表红色文字,`\033[0m`恢复默认样式。 2. `echo -e`:在命令行中使用`echo -e`命令,可以输出包含ANSI...

    Linux基本操作命令符

    根据给定的文件信息,以下是对“Linux基本操作命令符”的详细知识点解析: ### Linux基本操作命令符 #### 一、基本概念与介绍 Linux作为一款开源免费的操作系统,在服务器领域有着广泛的应用。掌握基本的Linux...

    Linux的常用命令大全(精华版)..-53页

    本资源总结了 Linux 系统中常用的命令,并对每个命令的参数选项进行了详细的解释,涵盖了 Linux 命令格式、打开终端的方式、普通用户和超级用户、键盘输入和回送符、控制符、DELETE 键和 BREAK 键、命令的使用方式、...

    嵌入式终端基于Linux V4L2的图像采集系统.pdf

    "嵌入式终端基于Linux V4L2的图像采集系统" 本文主要分析嵌入式终端设备图像采集系统的开发与设计,重点对Linux中的V4L2进行了研究,给出了使用V4L2进行图像采集的具体过程,包括启动设备、图像格式设置、分配缓冲...

    linux 进程控制阅读笔记

    创建守护进程通常包括以下几个步骤:关闭不必要的文件描述符、脱离控制终端、改变工作目录到根目录、重设文件创建掩码,以及设置会话领导权。这个过程可以通过编写相应的C语言代码实现,或者使用`daemon()`函数库。 ...

    免费的 Xshell7.0.0039 Linux连接终端工具

    此外,Xshell提供了全面的复制和粘贴功能,可以处理不同格式的文本,包括Unix/Linux风格和Windows风格的换行符。这对于跨平台操作非常方便。同时,Xshell还支持拖放功能,可以直接将文件从本地系统拖放到远程服务器...

    linux-terminal-template-portfolio:类似于Linux终端HTML和CSS组合模板

    这种模板可能包括命令提示符、输入框、各种系统命令的响应输出等元素,使得访问者在浏览网页时仿佛正在操作一个真实的Linux终端。这样的设计可以吸引技术爱好者,特别是对Linux系统有深厚兴趣的人群,同时也能在视觉...

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

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

    Linux程序设计上机指导书3:Linux进程控制.pdf

    【Linux进程控制】是Linux程序设计中的核心概念,关乎到系统的多任务运行和资源管理。在Linux中,进程是程序的实例,具有独立的内存空间和执行上下文。本指导书着重于理解和实践Linux进程控制的相关操作。 1. **...

    Linux C编程从初学到精通

    对于初学者而言,了解和使用Linux终端(Terminal)是基础中的基础。 接着,学习Linux C编程需要掌握C语言的基本语法和结构,包括变量、数据类型、控制语句、函数、数组和指针等。在Linux环境下,C语言的编译器通常...

    论文研究-基于Linux的信息发布终端网络通信技术的研究 .pdf

    通信协议分为三部分:信息推送、信息拉取和终端控制。每条信息由包头、包尾和描述符组成,采用&lt;类别标志符&gt;(CONTROL/PUSH/PULL)描述符1;描述符2;……类别标志符&gt;的基本格式。 知识点七:定时同步方式下的协议应用...

    宋宝华 linux设备驱动开发

    11. **USB设备驱动**:介绍USB设备的驱动模型,包括USB设备描述符、设备类、枚举过程,以及如何编写USB主机控制器和设备驱动。 12. **PCI设备驱动**:讲解PCI总线的特性,如何识别和配置PCI设备,以及PCI设备驱动的...

    Linux 40 道面试题及答案.docx

    Linux 内核是 Linux 系统的核心,控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。Linux 的基本组件包括内核、shell 和 GUI、系统实用程序和应用程序。Linux 的体系结构可以分为两块:...

    Linux应用程序开发详解

    了解Linux的基础知识包括理解Linux目录结构、文件系统、用户权限和管理,以及进程控制等核心概念。这些基础知识对于开发者来说至关重要,因为它们构成了与操作系统交互的基础。 在Linux环境中,命令行接口是开发者...

    change-linux-color.zip_Change_site:www.pudn.com

    5. **自定义ANSI转义序列**:Linux终端支持ANSI转义序列,这些序列可以用来控制文本的色彩、样式等。用户可以直接在命令行中输入特定的转义序列来改变颜色,或者在脚本中使用它们来实现动态颜色变化。 在压缩包中的...

    编写Linux守护进程

    Linux/Unix 守护进程是指在后台运行的进程,不与控制终端交互,独立于控制终端的输入/输出操作。编写 Linux 守护进程需要了解多个概念,如子进程、进程组、会晤期、信号机制、文件、目录和控制终端等。 要编写一个 ...

    Linux qt 下 使用libusb进行通信

    在Linux系统中,libusb通常需要root权限才能访问USB设备,因为USB设备通常被内核控制。为了在非root用户下操作,可以使用`udev`规则来赋予应用适当的访问权限。创建一个`.rules`文件,并添加一条规则,比如`...

    Linux的常用命令大全.pptx

    这篇文档主要介绍了Linux命令的基本格式、使用方式以及一些实用技巧,包括命令行的构成、终端的开启、用户权限、控制符、命令的输入和执行,以及通配符的使用。 Linux命令通常由三部分组成:命令(command)、选项...

    linux下打印输出不同颜色字体的方法

    ANSI 转义序列是一种控制终端显示的标准方法,它被广泛应用于各种基于文本的环境中,如 Linux 终端。通过这些序列,我们可以在不改变硬件的情况下调整字体的颜色、背景色以及样式等。 #### 二、颜色编码 在 ANSI ...

Global site tag (gtag.js) - Google Analytics