如何在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
相关文章
相关标签/搜索