¿Cómo puedo borrar la salida anterior en Terminal en Mac OS X?
Conozco el clear
comando que "borra" la pantalla actual, pero lo hace simplemente imprimiendo muchas líneas nuevas: el contenido borrado simplemente se desplaza hacia arriba.
¿Hay alguna manera de borrar por completo toda la salida anterior del terminal para que no pueda acceder a ella ni siquiera desplazándome hacia arriba?
Para borrar el terminal manualmente:
⌘+K
Command+ Kpara teclados más nuevos
Para borrar la terminal desde un script de shell;
/usr/bin/osascript -e 'tell application "System Events" to tell process "Terminal" to keystroke "k" using command down'
Una mejor manera de borrar la pantalla desde un script...
Si está utilizando la aplicación OS X Terminal (como lo indica el OP), un mejor enfoque (gracias a la respuesta de Chris Page a ¿Cómo restablezco el desplazamiento hacia atrás en la terminal mediante un comando de shell? ) es solo este:
clear && printf '\e[3J'
o más concisamente ( consejo para el usuario qiuyi ):
printf '\33c\e[3J'
que borra el búfer de desplazamiento hacia atrás y la pantalla. Hay otras opciones tambien. Vea la respuesta de Chris Page a ¿Cómo restablezco el desplazamiento hacia atrás en la terminal mediante un comando de Shell? para más información.
Respuesta original
La respuesta de AppleScript dada en este hilo funciona, pero tiene el desagradable efecto secundario de borrar cualquier ventana de terminal que esté activa. ¡Esto es sorprendente si estás ejecutando el script en una ventana e intentando realizar el trabajo en otra!
Esto se puede evitar refinando el AppleScript para que solo borre la pantalla si está en primer plano haciendo esto (tomado de la respuesta de MattiSG a ¿Cómo restablezco el desplazamiento hacia atrás en la terminal mediante un comando de shell? ):
osascript -e 'if application "Terminal" is frontmost then tell application "System Events" to keystroke "k" using command down'
... pero como cuando no es la ventana actual, la salida se acumulará hasta que vuelva a ser actual, lo que probablemente no sea lo que desea.
Para eliminar solo la última salida:
⌘+L
Para borrar el terminal por completo:
⌘+K