首页 > 基础设施 > 正文

Linux系统里如何彻底的清空屏幕?

2014-02-18 09:34:41  来源:外刊IT评论

摘要:Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕。但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了。
关键词: Linux

    Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕。但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了。但当用鼠标向上滚时,你仍然能看到之前的命令操作留下来的输出。当在处理大量的文本时,这种情况就会给我们带来麻烦。


    网上能查到很多其它清空屏幕的方法,但基本上都是clear命令的变种。那么,如何能真正的清空屏幕呢?


    很巧,我最近发现了一个命令,它能彻底的解决我们的问题。

\

    printf “33c”正是我们需要的命令。它是真正的清空了终端屏幕,它的功能跟DOS里CMD.EXE提供的CLS效果很相似。


    但这个命令究竟是做什么的?它的工作原理是什么?


    33  ==  x1B == 27 == ESC


    于是,这个命令变成了<ESC>c,它是VT-XXX中表示“Full Reset (RIS)”的转义码。现今我们使用的所有的终端都是VT兼容的,但如果你发现自己使用的是一个非常奇怪的终端,那这个命令你可能用不了。printf是bash里内置的命令,内置命令的优先级比其它可执行文件要高。


    我们还可以使用另外一个命令,reset,它也是清空终端屏幕,但我们仍然可以使用上下键查看历史命令。这个命令的一个缺点是,它执行起来有点慢,也许是因为它没有发送ESC c指令,但这个命令的兼容性显然比之前的那个要好。


    reset命令在你的终端控制错乱时非常有用。你是否遇到过输入字符不出现在光标的位置的情况?当你敲击回车键时,新提示符并没有出现在新行上,而是出现在老提示符的前面?reset命令就是来修正这个问题的。你在CYGWIN上也能使用这个命令。


第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:fanwei

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。