徹底清除linux終端屏幕

轉載:http://www.lupaworld.com/article-236016-1.html

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上也能使用這個命令。 :)


[英文原文:how-to-clear-terminal-screen-for-real ]


via: http://www.vaikan.com/how-to-clear-the-terminal-screen-for-real-in-case-of-linux/


PS:可以用命令別名 alias來替換 printf ‘\033c’ 。

現在終端中編輯  .bashrc   ,vim .bashrc   添加 alias clc=‘printf "\033c" ’或者alias clc=”printf ’\033c ‘ " ,但是不能

alias clc=‘printf ’\033c‘ ’。具體原因見另一博文  http://blog.csdn.net/zhaozicang/article/details/20081463

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章