我知道使用clear
命令能够“清除”当前屏幕,可是它只是经过打印许多换行符来实现的-清除后的内容会向上滚动。 shell
有没有一种方法能够彻底清除终端上的全部先前输出,以便即便向上滚动也没法到达? bash
把它放在你的.bash_profile或.bashrc中 app
function cls { osascript -e 'tell application "System Events" to keystroke "k" using command down' }
或者,您能够按如下命令发送分页符 (ASCII格式的提要): spa
CTRL+L
从技术上来讲,这只是开始一个新页面,但这与全部其余方法具备相同的净效果,但速度要快得多(固然,Apple + K解决方案除外)。 code
而且因为这是ASCII控制命令,所以它适用于全部shell。 ip
在Mac OS X终端上,此功能已做为“ View->Clear Scrollback
(默认为CMD + K )内置在终端应用程序中。 get
所以,您能够根据须要使用Apple的Keyboard快捷键从新分配它。 只需使用“ Clear Scrollback”命令为Terminal添加新的快捷方式。 (我使用CMD + L ,由于它相似于CTRL + L来清除当前屏幕内容,而不清除缓冲区。) it
不知道如何在脚本中使用它(也许就像其余人指出的那样是AppleScript)。 io
⌘ + K function
Command + K用于更新键盘
/usr/bin/osascript -e 'tell application "System Events" to tell process "Terminal" to keystroke "k" using command down'
在终端中键入如下内容将清除您的历史记录(意味着使用向上箭头将无助您)-但不会清除屏幕:
history -c