2011-06-16 58 views
40

如何清除BASH中的整个终端,如命令提示符的cls命令?BASH中的“CLS”等效吗?

clear不起作用,因为它实际上没有清除任何东西,它只是向下滚动。

+0

你是什么意思“它只是向下滚动”?你实际上想不能向上滚动以查看之前有什么?你在用什么终端? – Random832 2011-06-16 04:20:55

+6

“重置”呢? – 2011-06-16 04:23:15

+0

@ Random832:我的意思是它只是从字面上滚动下来,而不是清理任何东西。 (我使用的是Ubuntu的默认终端,我相信它是gnome-terminal,对不起,我忘记提及了)。 @Alex:我从来没有听说过'重置' - 它似乎正在做我所需要的,但是它*所有*它呢?还是它重置其他东西呢? – Mehrdad 2011-06-16 04:46:48

回答

21

你为什么不尝试按Ctrl + 升(控制,小写字母 “L”)。这在大多数壳(ERR端子)...

在OSX终端 -

命令⌘(命令,L)导致最后去除显示键入命令。

命令⌘ + ķ(命令中,k)导致去除/清除所有显示缓冲器。

reset(在终端中键入)会导致终端重置,以免显示屏出现乱码。

在其他unix口味中不能确定。

+2

这没有什么'清除'没有。 – 2011-06-16 04:30:06

28

据我所知,没有办法做到这一点比clear用bash做得更好。

我认为这是一个可以嵌入到您使用的终端中的功能。我知道Mac终端应用程序有一个“清除回滚”菜单选项(命令+ K),它可以满足您的要求。

+0

+1感谢您的信息。我仍然需要直接了解“shell”和“terminal”之间的区别。 :) – Mehrdad 2011-06-16 04:47:54

+1

'shell' - >正在运行的软件。 'terminal' - >计算机的一部分,通常由玻璃制成,你可以扔掉。 'virtual terminal' - >一个像终端一样的软件。 (xterm中)。 – 2012-09-27 18:20:19

12

xterm将允许转义序列ESC [3J清除向后滚动,所以你可以这样做:

alias cls="clear; printf '\033[3J'" 
+0

+1感谢您的信息,这是一种不同的答案,仍然有用。 – Mehrdad 2011-06-16 04:48:09

+1

迄今为止最好的答案很好的工作 – 2016-04-09 15:34:33

8

使用 + ķ。它删除条目,所以我不能再滚动了。

所以 + K清除包括滚动的所有内容。 Ctrl + L清除终端窗口,但仍然能够看到滚动时的一切。