最近看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
效果:
相关推荐
在Linux系统中,C语言是开发底层程序和系统级应用的主要工具之一,而终端控制是C编程中的一个重要领域。这个“Linux C函数参考 终端控制篇”主要涵盖了与控制终端相关的C函数和概念,帮助开发者更好地理解和使用这些...
1. ANSI转义码:Linux终端支持ANSI转义码,通过这些码可以控制文本颜色、背景色和字体样式。例如,`\033[31m`代表红色文字,`\033[0m`恢复默认样式。 2. `echo -e`:在命令行中使用`echo -e`命令,可以输出包含ANSI...
根据给定的文件信息,以下是对“Linux基本操作命令符”的详细知识点解析: ### Linux基本操作命令符 #### 一、基本概念与介绍 Linux作为一款开源免费的操作系统,在服务器领域有着广泛的应用。掌握基本的Linux...
本资源总结了 Linux 系统中常用的命令,并对每个命令的参数选项进行了详细的解释,涵盖了 Linux 命令格式、打开终端的方式、普通用户和超级用户、键盘输入和回送符、控制符、DELETE 键和 BREAK 键、命令的使用方式、...
"嵌入式终端基于Linux V4L2的图像采集系统" 本文主要分析嵌入式终端设备图像采集系统的开发与设计,重点对Linux中的V4L2进行了研究,给出了使用V4L2进行图像采集的具体过程,包括启动设备、图像格式设置、分配缓冲...
创建守护进程通常包括以下几个步骤:关闭不必要的文件描述符、脱离控制终端、改变工作目录到根目录、重设文件创建掩码,以及设置会话领导权。这个过程可以通过编写相应的C语言代码实现,或者使用`daemon()`函数库。 ...
此外,Xshell提供了全面的复制和粘贴功能,可以处理不同格式的文本,包括Unix/Linux风格和Windows风格的换行符。这对于跨平台操作非常方便。同时,Xshell还支持拖放功能,可以直接将文件从本地系统拖放到远程服务器...
这种模板可能包括命令提示符、输入框、各种系统命令的响应输出等元素,使得访问者在浏览网页时仿佛正在操作一个真实的Linux终端。这样的设计可以吸引技术爱好者,特别是对Linux系统有深厚兴趣的人群,同时也能在视觉...
Linux终端控制字体的颜色和显示方式 终端的字符颜色由转义序列(Escape Sequence)控制,是文本模式下的系统显示功能,与具体语言无关。 转义序列以控制字符'ESC'开头。该字符的ASCII码十进制表示为27,十六进制表示为...
【Linux进程控制】是Linux程序设计中的核心概念,关乎到系统的多任务运行和资源管理。在Linux中,进程是程序的实例,具有独立的内存空间和执行上下文。本指导书着重于理解和实践Linux进程控制的相关操作。 1. **...
对于初学者而言,了解和使用Linux终端(Terminal)是基础中的基础。 接着,学习Linux C编程需要掌握C语言的基本语法和结构,包括变量、数据类型、控制语句、函数、数组和指针等。在Linux环境下,C语言的编译器通常...
通信协议分为三部分:信息推送、信息拉取和终端控制。每条信息由包头、包尾和描述符组成,采用<类别标志符>(CONTROL/PUSH/PULL)描述符1;描述符2;……类别标志符>的基本格式。 知识点七:定时同步方式下的协议应用...
11. **USB设备驱动**:介绍USB设备的驱动模型,包括USB设备描述符、设备类、枚举过程,以及如何编写USB主机控制器和设备驱动。 12. **PCI设备驱动**:讲解PCI总线的特性,如何识别和配置PCI设备,以及PCI设备驱动的...
Linux 内核是 Linux 系统的核心,控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。Linux 的基本组件包括内核、shell 和 GUI、系统实用程序和应用程序。Linux 的体系结构可以分为两块:...
了解Linux的基础知识包括理解Linux目录结构、文件系统、用户权限和管理,以及进程控制等核心概念。这些基础知识对于开发者来说至关重要,因为它们构成了与操作系统交互的基础。 在Linux环境中,命令行接口是开发者...
5. **自定义ANSI转义序列**:Linux终端支持ANSI转义序列,这些序列可以用来控制文本的色彩、样式等。用户可以直接在命令行中输入特定的转义序列来改变颜色,或者在脚本中使用它们来实现动态颜色变化。 在压缩包中的...
Linux/Unix 守护进程是指在后台运行的进程,不与控制终端交互,独立于控制终端的输入/输出操作。编写 Linux 守护进程需要了解多个概念,如子进程、进程组、会晤期、信号机制、文件、目录和控制终端等。 要编写一个 ...
在Linux系统中,libusb通常需要root权限才能访问USB设备,因为USB设备通常被内核控制。为了在非root用户下操作,可以使用`udev`规则来赋予应用适当的访问权限。创建一个`.rules`文件,并添加一条规则,比如`...
这篇文档主要介绍了Linux命令的基本格式、使用方式以及一些实用技巧,包括命令行的构成、终端的开启、用户权限、控制符、命令的输入和执行,以及通配符的使用。 Linux命令通常由三部分组成:命令(command)、选项...
ANSI 转义序列是一种控制终端显示的标准方法,它被广泛应用于各种基于文本的环境中,如 Linux 终端。通过这些序列,我们可以在不改变硬件的情况下调整字体的颜色、背景色以及样式等。 #### 二、颜色编码 在 ANSI ...