如何在Mac OS X的終端中清除之前的輸出?

我知道使用clear命令能夠「清除」當前屏幕,可是它只是經過打印許多換行符來實現的-清除後的內容會向上滾動。 shell

有沒有一種方法能夠徹底清除終端上的全部先前輸出,以便即便向上滾動也沒法到達? bash


#1樓

把它放在你的.bash_profile或.bashrc中 app

function cls { 
osascript -e 'tell application "System Events" to keystroke "k" using command down' 
}

#2樓

或者,您能夠按如下命令發送分頁符 (ASCII格式的提要): spa

CTRL+L

從技術上來講,這只是開始一個新頁面,但這與全部其餘方法具備相同的淨效果,但速度要快得多(固然,Apple + K解決方案除外)。 code

而且因爲這是ASCII控制命令,所以它適用於全部shell。 ip


#3樓

在Mac OS X終端上,此功能已做爲「 View->Clear Scrollback (默認爲CMD + K )內置在終端應用程序中。 get

所以,您能夠根據須要使用Apple的Keyboard快捷鍵從新分配它。 只需使用「 Clear Scrollback」命令爲Terminal添加新的快捷方式。 (我使用CMD + L ,由於它相似於CTRL + L來清除當前屏幕內容,而不清除緩衝區。) it

不知道如何在腳本中使用它(也許就像其餘人指出的那樣是AppleScript)。 io


#4樓

要手動清除終端:

⌘ + K function

Command + K用於更新鍵盤

從shell腳本中清除終端;

/usr/bin/osascript -e 'tell application "System Events" to tell process "Terminal" to keystroke "k" using command down'

#5樓

在終端中鍵入如下內容將清除您的歷史記錄(意味着使用向上箭頭將無助您)-但不會清除屏幕:

history -c
相關文章
相關標籤/搜索