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