Linux命令:clear的实现

这是一个实现起来相对来说很简单但是却不可或缺的一个命令,如果没有clear,我们的终端上将会充斥着之前显示过的垃圾信息,让人觉得很烦,而且会比较难找到我们所需要的内容。因此我们需要使用clear命令来清理屏幕。具体实现如下:

Linux命令:clear的实现_第1张图片

同学们会疑惑了,这函数里面的这些东西字符到底是什么意思呢?

其实这些都是VT100里面的控制码,所谓VT100,是一个终端类型的定义,比如我现在用的这个Linux系统的终端就是VT100类型的终端,因此可以使用这些控制码来对终端进行操作,

"\x1b[2J"清除整个屏幕,行属性变成单宽单高,光标位置不变

"\x1b[H"光标移动

还有其他的一些控制码

\033[0m 关闭所有属性

\033[1m 设置为高亮

\033[4m 下划线

\033[5m 闪烁

\033[7m 反显

\033[8m 消隐

\033[nA 光标上移 n 行

\033[nB 光标下移 n 行

\033[nC 光标右移 n 行

\033[nD 光标左移 n 行

\033[y;xH 设置光标位置

\033[2J 清屏

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

\033[s 保存光标位置

\033[u 恢复光标位置

\033[?25l 隐藏光标

\033[?25h 显示光标

\033[30m – \033[37m 设置前景色

30: 黑色   31: 红色   32: 绿色   33: 黄色   34: 蓝色   35: 紫色 36: 青色 37: 白色 \033[40m – \033[47m 设置背景色

40: 黑色 41: 红色 42: 绿色 43: 黄色 44: 蓝色 45: 紫色 46: 青色 47: 白色

在上面的代码截图中,我们用的是“\x1b”,下面这些是“\033”,这两种具体有什么区别,还不是很清楚,不过后面的属性在这两种格式下都可以使用。

你可能感兴趣的:(Linux命令:clear的实现)