Linux系统里如何彻底的清空屏幕?
Linux 用户,特别是 Ubuntu 或 CentOS 用户,基本上都习惯使用clear
命令或Ctrl+L
组合快捷键来清空终端屏幕。但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了。但当用鼠标向上滚时,你仍然能看到之前的命令操作留下来的输出。当在处理大量的文本时,这种情况就会给我们带来麻烦。
网上能查到很多其它清空屏幕的方法,但基本上都是clear
命令的变种。那么,如何能真正的清空屏幕呢?
很巧,我最近发现了一个命令,它能彻底的解决我们的问题。
printf “\033c”
正是我们需要的命令。它是真正的清空了终端屏幕,它的功能跟 DOS 里CMD.EXE
提供的CLS
效果很相似。
但这个命令究竟是做什么的?它的工作原理是什么?
\033 == \x1B == 27 == ESC
于是,这个命令变成了printf
是 bash 里内置的命令,内置命令的优先级比其它可执行文件要高。
我们还可以使用另外一个命令,reset
,它也是清空终端屏幕,但我们仍然可以使用上下键查看历史命令。这个命令的一个缺点是,它执行起来有点慢,也许是因为它没有发送ESC c
指令,但这个命令的兼容性显然比之前的那个要好。
reset
命令在你的终端控制错乱时非常有用。你是否遇到过输入字符不出现在光标的位置的情况?当你敲击回车键时,新提示符并没有出现在新行上,而是出现在老提示符的前面?reset
命令就是来修正这个问题的。你在 CYGWIN 上也能使用这个命令。