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

运维 系统运维
网上能查到很多其它清空屏幕的方法,但基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕。那么,如何能真正的清空屏幕呢?本文分享的这个命令,能彻底的解决我们的问题。

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

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

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

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

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

\033  ==  \x1B == 27 == ESC

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

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

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

[英文原文:how-to-clear-terminal-screen-for-real ]

责任编辑:黄丹 来源: 外刊IT评论
相关推荐

2011-01-07 17:08:22

linux系统时间

2017-12-11 09:04:53

LinuxScrot截屏

2012-11-23 17:20:43

Linux服务器

2018-02-26 16:07:48

Android3DDepth

2021-08-09 11:31:54

Linux重复相片删除

2017-03-28 14:00:06

Windows 10Windows系统进程

2010-03-31 15:14:20

2018-12-03 16:00:22

Linux屏幕设置壁纸

2009-06-12 09:01:34

Linux屏幕录像

2011-03-16 16:41:57

清空iptables

2011-10-25 17:16:28

Linux服务器数据删除

2021-12-29 15:02:48

Linux清空文件

2016-11-09 09:48:03

Arch Linux设定WiFi网络

2019-03-21 09:00:00

UbuntuLinux清空垃圾

2019-06-28 11:26:31

LinuxWindowsTcping

2009-12-14 15:35:41

Linux操作系统

2018-04-08 08:32:59

2011-02-17 10:14:44

LinuxCPU负载

2017-04-12 14:30:45

Linux内核DebugFS

2020-11-09 16:35:42

UbuntuLinux发行版
点赞
收藏

51CTO技术栈公众号