修復(fù)Linux/Unix/OS X/BSD系統(tǒng)控制臺上的顯示亂碼
有時我的探索會在屏幕上輸出一些奇怪的東西。比如,有一次我不小心用 cat
命令查看了一下二進制文件的內(nèi)容 —— cat /sbin/*
。這種情況下你將無法再訪問終端里的 bash/ksh/zsh 了。大量的奇怪字符充斥了你的終端。這些字符會隱藏你輸入的內(nèi)容和要顯示的字符,取而代之的是一些奇怪的符號。要清理掉這些屏幕上的垃圾可以使用以下方法。本文就將向你描述在 Linux/ 類 Unix 系統(tǒng)中如何真正清理終端屏幕或者重置終端。
clear 命令
clear
命令會清理掉屏幕內(nèi)容,連帶它的回滾緩存區(qū)一起也會被清理掉。(LCTT 譯注:這種情況下你輸入的字符回顯也是亂碼,不必?fù)?dān)心,正確輸入后回車即可生效。)
$ clear
你也可以按下 CTRL+L
來清理屏幕。然而,clear
命令并不會清理掉終端屏幕(LCTT 譯注:這句話比較難理解,應(yīng)該是指的運行 clear
命令并不是真正的把以前顯示的內(nèi)容刪掉,你還是可以通過向上翻頁看到之前顯示的內(nèi)容)。使用下面的方法才可以真正地清空終端,使你的終端恢復(fù)正常。
使用 reset 命令修復(fù)顯示
要修復(fù)正常顯示,只需要輸入 reset
命令。它會為你再初始化一次終端:
$ reset
或者:
$ tput reset
如果 reset
命令還不行,那么輸入下面命令來讓繪畫回復(fù)到正常狀態(tài):
$ stty sane
按下 CTRL + L
來清理屏幕(或者輸入 clear
命令):
$ clear
使用 ANSI 轉(zhuǎn)義序列來真正地清空 bash 終端
另一種選擇是輸入下面的 ANSI 轉(zhuǎn)義序列:
clear
echo -e "\033c"
下面是這兩個命令的輸出示例:
Animated gif 01:Fix Unix Console Gibberish Command Demo
更多信息請閱讀 stty
和 reset
的 man 頁: stty(1),reset(1),bash(1)。