2011-06-16 54 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清除終端窗口,但仍然能夠看到滾動時的一切。