Linux系統里如何徹底的清空終端屏幕?


 

Linux用戶,特別是Ubuntu或CentOS用戶,基本上都習慣使用clear命令或Ctrl+L組合快捷鍵來清空終端屏幕。但是,這樣做其實並不是真正的清空屏幕,它只是給人一種錯覺,讓人以為屏幕清空了。但當用鼠標向上滾時,你仍然能看到之前的命令操作留下來的輸出。當在處理大量的文本時,這種情況就會給我們帶來麻煩。

 

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

 

 

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

 

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

 

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

 

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

  於是,這個命令變成了c,它是VT-XXX中表示“Full Reset (RIS)”的轉義碼。現今我們使用的所有的終端都是VT兼容的,但如果你發現自己使用的是一個非常奇怪的終端,那這個命令你可能用不了。printf是bash里內置的命令,內置命令的優先級比其它可執行文件要高。

 

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

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM