Linux用戶,特別是Ubuntu或CentOS用戶,基本上都習慣使用clear命令或Ctrl+L組合快捷鍵來清空終端屏幕。但是,這樣做其實并不是真正的清空屏幕,它只是給人一種錯覺,讓人以為屏幕清空了。但當用鼠標向上滾時,你仍然能看到之前的命令操作留下來的輸出。當在處理大量的文本時,這種情況就會給我們帶來麻煩。
網上能查到很多其它清空屏幕的方法,但基本上都是clear命令的變種。那么,如何能真正的清空屏幕呢?
很巧,我最近發現了一個命令,它能徹底的解決我們的問題。
printf “/033c”正是我們需要的命令。它是真正的清空了終端屏幕,它的功能跟DOS里CMD.EXE提供的CLS效果很相似。
但這個命令究竟是做什么的?它的工作原理是什么?
/033 == /x1B == 27 == ESC
于是,這個命令變成了<ESC>c,它是VT-XXX中表示“Full Reset (RIS)”的轉義碼。現今我們使用的所有的終端都是VT兼容的,但如果你發現自己使用的是一個非常奇怪的終端,那這個命令你可能用不了。printf是bash里內置的命令,內置命令的優先級比其它可執行文件要高。
我們還可以使用另外一個命令,reset,它也是清空終端屏幕,但我們仍然可以使用上下鍵查看歷史命令。這個命令的一個缺點是,它執行起來有點慢,也許是因為它沒有發送ESC c指令,但這個命令的兼容性顯然比之前的那個要好。
reset命令在你的終端控制錯亂時非常有用。你是否遇到過輸入字符不出現在光標的位置的情況?當你敲擊回車鍵時,新提示符并沒有出現在新行上,而是出現在老提示符的前面?reset命令就是來修正這個問題的。你在CYGWIN上也能使用這個命令。
新聞熱點
疑難解答