您的位置:首页 > 运维架构 > Shell

MyMiniBash之clear命令

2019-04-03 15:56 204 查看

在linux中clear命令可以刷新整个屏幕,但本质上还是只是让终端向后上翻了一页,滚动屏幕还是可以看到之前的信息。而reset命令将完全刷新整个屏幕,之前的终端输入操作信息都将会清空,
具体地clear命令的实现:

#include<stdio.h>

int main()
{
fputs("\x1b[2J\x1b[H",stdout);
exit(0);
}

这些都是VT100的控制码,是一个终端类型的定义。用来在终端上扩展显示代码
可以通过echo来输出,或通过C语言中的printf函数来控制
“\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[?25I 隐藏光标
\033[?25h 显示光标
\033[30m-\033[37m 设置前景颜色
\033[40m-\033[47m 设置背景颜色

VT100 关于颜色的说明.
VT100 的颜色输出分为,注意要同时输出前景的字符颜色和背景颜色。

字背景颜色范围:40----49

40:黑

41:深红

42:绿

43:黄色

44:蓝色

45:紫色

46:深绿

47:白色

字前景颜色:30-----------39

30:黑

31:红

32:绿

33:黄

34:蓝色

35:紫色

36:深绿

37:白色

这样输出一个字符串比较完整如下

echo "\033[字背景颜色;字体颜色m 字符串\033[0m"

例:

echo "\033[41;36m helloworld \033[0m"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: