Linux用戶,特別是Ubuntu或CentOS用戶,基本上都習慣使用clear
命令或Ctrl+L
組合快捷鍵來清空終端屏幕。可是,這樣作其實並非真正的清空屏幕,它只是給人一種錯覺,讓人覺得屏幕清空了。但當用鼠標向上滾時,你仍然能看到以前的命令操做留下來的輸出。當在處理大量的文本時,這種狀況就會給咱們帶來麻煩。bash
網上能查到不少其它清空屏幕的方法,但基本上都是clear
命令的變種。那麼,如何能真正的清空屏幕呢?code
很巧,我最近發現了一個命令,它能完全的解決咱們的問題。兼容性
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上也能使用這個命令。文件