¿Cómo limpiar realmente la terminal?

321

Puedo emitir el comando clear o presionar Ctrl + L para borrar el actual terminal de Ubuntu, pero esto simplemente cambia la salida anterior hacia arriba y si usa el desplazamiento del mouse o las teclas PgUP y PgDown es difícil distinguir dónde termina la salida del comando anterior y comienza la salida del comando actual.

¿Hay alguna manera de realmente borrar el terminal, así que no veré los resultados de comandos anteriores?

    
pregunta Stann 06.02.2011 - 22:51

11 respuestas

391

Sí, el comando que estás buscando es

reset

En contraste con clear , o Ctrl + L , reset reinicializará completamente el terminal , en lugar de borrar la pantalla. Sin embargo, no volverá a crear instancias del shell (bash). Eso significa que el estado de bash es el mismo que el anterior, como si simplemente borrara la pantalla.

Como @Wallacoloo menciona en los comentarios, este comando debería hacer lo mismo más rápidamente:

tput reset

De las otras respuestas:

  • Puede establecer un Atajo de teclado para reset del terminal, como explicado por towolf .

  • Si está ejecutando Kubuntu , y su terminal es Konsole, debe ir a Editar → Borrar historial , ya que reset no lo hace trabaje de la misma manera allí, como notas de UncleZeiv .

respondido por el Stefano Palazzo 06.02.2011 - 22:55
76

Estuve buscando esto por un tiempo y encontré un genio que publicó esto:

clear && printf '\e[3J'

Borra todo el buffer de la pantalla, muy limpio. Funciona en OS X y cree que funciona bien en la mayoría de los terminales * nix.

Por curiosidad, esta parte '\e[3J' es un comando de escape de terminal.

    
respondido por el Goran 29.05.2014 - 07:51
37

También puede asignar un acceso directo en gnome-terminal yendo a Editar → Atajos de teclado . Uso Shift + Ctrl + Alt + C .

    
respondido por el towolf 08.02.2011 - 23:46
15

ejecuta este comando:

reset

Esto tiene el mismo efecto que lanzar una nueva terminal.

    
respondido por el dv3500ea 06.02.2011 - 22:55
8

Publicar una respuesta cruzada desde stackoverflow .

Utilice el siguiente comando para hacer una pantalla clara en lugar de simplemente agregar nuevas líneas ...

printf "3c"

sí, eso es un 'printf' en el prompt bash.

Sin embargo, probablemente quieras definir un alias ...

alias cls='printf "3c"'

Explicación

3 == \x1B == 27 == ESC

Así que esto se convierte en <ESC>c que es el código de escape VT100 para restablecer el terminal. Aquí hay más información sobre los códigos de escape del terminal.

Editar

Aquí hay algunas otras maneras de hacerlo ...

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

KDE

Lo anterior no funciona en la consola de KDE (llamada Konsole) ¡pero hay esperanza! Use la siguiente secuencia de comandos para borrar la pantalla y el buffer de desplazamiento hacia atrás ...

clear && echo -en "\e[3J"

O tal vez use el siguiente alias en KDE ...

alias cls='clear && echo -en "\e[3J"'

Obtuve el comando de liberación de desplazamiento hacia atrás desde aquí .

    
respondido por el Sandeep Datta 13.10.2015 - 10:08
5

Bueno, realmente depende, si estás usando Konsole , por ejemplo, incluso reset no te impide desplazarte más allá de la primera línea. En ese caso, debe usar alguna característica del terminal en particular que esté usando. Para Konsole , es Edit > Clear History .

    
respondido por el UncleZeiv 07.02.2011 - 17:27
5

Mi favorito es printf "\ec" . Esto también puede ser printf "3c" o printf "\x1bc" . Esa es una secuencia de escape ansi que despeja milagrosamente la pantalla y el búfer para la salida del terminal (para la mayoría de los terminales estándar en los que he trabajado parece, sé que funciona en gnome-terminal, terminator, xterm, etc. en Ubuntu-like Linuxes)

Sé que esto funciona en Linux Mint y Ubuntu 14.04, así que no sé por qué las personas agregan y preparan cosas como clear && echo -ne "3c . printf "\ec" siempre me ha funcionado.

Además, en mi .bashrc tengo un enlace como este:

bind -x '"\C-t": printf "\ec"';

Ahora presiono ctrl t todo el tiempo.

    
respondido por el dylnmc 01.05.2015 - 11:32
3

He encontrado lo siguiente para tener bastante éxito con Kubuntu:

alias clc="echo -en '3c3[3J'"

Puedes usar cls para mantener la tradición de Windows, usa la versión de Matlab clc o una propia. ¡Buena suerte!

    
respondido por el Charles Bell 30.04.2015 - 00:26
2

Alternativamente a reset , puedes hacer echo -e "3c" , o tener en tu .bashrc , algo así como alias cls="echo -ne '3c'"

El StackExchange de UNIX / Linux tiene un hilo sobre esto: Cómo borrar completamente el terminal ? (unix.stackexchange.com) , así como SuperUser: Eliminar terminal usando el atajo de teclado. (superusuario.com) .

    
respondido por el Hibou57 09.07.2014 - 10:55
2

Otra alternativa a la respuesta @ Hibou57:

# The Octal Way
alias clear="echo -e '3c\c'"

O

# The Hex Way
alias clear="echo -e '\x1b\c'"

Básicamente esto tendrá exactamente el mismo efecto, imprimirá el carácter ^[ (que borrará su terminal) y no generará la nueva línea final.

    
respondido por el TwystO 30.10.2014 - 22:26
1

Si está usando yakuake o Konsole, intente Ctrl + Shift + K .

Fuente: enlace

    
respondido por el Wojciech Sidor 06.10.2015 - 18:21

Lea otras preguntas en las etiquetas