Shell控制台清除


8

有没有办法仅用一两个键就可以清除shell控制台(在ubuntu linux中)上显示的内容?当我从grep窗口中溢出大量行并且超出了窗口的高度时,我想快速滚动回到提示后键入命令的位置。如果在键入命令之前打开了一个新的终端,然后转到初始位置,则可以这样做。但是,如果继续使用相同的终端窗口,则必须手动查找位置。Ctrl+ l不是答案,因为它只是滚动,而终端的内容仍然保留。我无法使用,less因为grep的彩色输出未显示颜色。


我有点困惑。您是否正在寻找类似于clsDOS中的东西?
Iszi 2011年

我对DOS不熟悉,但是如果那可以让您清除窗口并将滚动条放在顶部,那就是我想要的。
sawa

1
cls在DOS中,它将清除控制台的内容,并使您返回到带有新命令提示符的空白屏幕。
Iszi 2011年

@lszi我明白了。是Faheem给予“重置”的对应物吗?
sawa

1
不,clear是的对应物clsreset做更多。两者都可能起作用,但是根据您的描述,reset这太过分了。
Mikel

Answers:


13

reset

该命令是ncurses的一部分,位于Debian 的ncurses-bin软件包中,它将完全清除控制台。那是你要的吗?

reset手册页的简要摘要:

在执行终端初始化之前,请像执行tset一样,将设置重置为煮熟和回显模式,关闭cbreak和raw模式,打开换行转换并将所有未设置的特殊字符重置为其默认值。

正如/superuser/122911/bash-reset-and-clear-commands中所讨论的那样,正如Erik在Shell控制台clearing中指出的那样,clear只要清除屏幕,reset就会(如bignose所说), “当终端被控制序列弄乱时,请对其进行重置”。就个人而言,我擅长弄乱我的终端机,当我清除终端机时,我不想找回以前的任何东西,所以我只使用reset。但是,嗯。


Ctrl+L与这个问题的目的有何不同?用户没有提到终端损坏,否则就我所知这是等效的。
Mikel

我尝试了@Mikel,Ctrl+L但没有清除终端。
sawa

8

我通常只使用:

clear

clear手册页:

clear clears your screen if this is possible.  It looks in the environ-
ment for the terminal type and then in the terminfo database to  figure
out how to clear the screen.

clear ignores any command-line parameters that may be present.

1
我试过了,但是无法清除终端。
sawa

@sawa:可以提供屏幕截图吗?从您的问题中我仍然无法理解为什么clear还是Ctrl+L不起作用。
Mikel

3
@Mikel就是行不通。该行向上滚动,光标位于第一条可见行,但滚动条位于底部。
sawa

1
@sawa:啊,我明白你的意思了!我使用的是PuTTY,它是相同的,但是在Gnome Terminal中有所不同。感谢您的解释。
Mikel


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.