天天看點

Linux系統裡如何徹底的清空終端螢幕?

linux使用者,特别是ubuntu或centos使用者,基本上都習慣使用clear指令或ctrl+l組合快捷鍵來清空終端螢幕。但是,這樣做其實并不是真正的清空螢幕,它隻是給人一種錯覺,讓人以為螢幕清空了。但當用滑鼠向上滾時,你仍然能看到之前的指令操作留下來的輸出。當在處理大量的文本時,這種情況就會給我們帶來麻煩。

網上能查到很多其它清空螢幕的方法,但基本上都是clear指令的變種。那麼,如何能真正的清空螢幕呢?

Linux系統裡如何徹底的清空終端螢幕?

terminal

很巧,我最近發現了一個指令,它能徹底的解決我們的問題。

printf “\033c”正是我們需要的指令。它是真正的清空了終端螢幕,它的功能跟dos裡cmd.exe提供的cls效果很相似。

但這個指令究竟是做什麼的?它的工作原理是什麼?

于是,這個指令變成了c,它是vt-xxx中表示“full reset (ris)”的轉義碼。現今我們使用的所有的終端都是vt相容的,但如果你發現自己使用的是一個非常奇怪的終端,那這個指令你可能用不了。printf是bash裡内置的指令,内置指令的優先級比其它可執行檔案要高。

我們還可以使用另外一個指令,reset,它也是清空終端螢幕,但我們仍然可以使用上下鍵檢視曆史指令。這個指令的一個缺點是,它執行起來有點慢,也許是因為它沒有發送esc c指令,但這個指令的相容性顯然比之前的那個要好。

reset指令在你的終端控制錯亂時非常有用。你是否遇到過輸入字元不出現在光标的位置的情況?當你敲擊Enter鍵時,新提示符并沒有出現在新行上,而是出現在老提示符的前面?reset指令就是來修正這個問題的。你在cygwin上也能使用這個指令。 

Linux系統裡如何徹底的清空終端螢幕?

:)

原文釋出時間為:2014-02-19

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀