Borrar el buffer de pantalla en la terminal con clear y reset

Cuando se trabaja desde la terminal o línea de comandos a veces es deseable borrar la pantalla junto con todo su historial (típicamente conocido como scrollback buffer). Ya sea por seguridad, es decir, borrar información sensible que pueda haber quedado en pantalla (como por ejemplo credenciales), o simplemente como "limpieza". Este artículo presenta el uso de las herramientas clear y reset en diferentes tipos de consolas.







Históricamente, la mayoría de las consolas incluyen un comando built-in o binario adicional que permite borrar o limpiar toda la pantalla. En los sistemas operativos Unix, las shells incluyen el comando clear , mientras que en Windows existe cls .

En los sistemas operativos de la familia Unix, el utilitario clear permite borrar la pantalla, junto con el buffer de pantalla si es posible. Esta herramienta consulta la base de datos de capacidades de la terminal ( terminfo ) para determinar cómo borrar cada tipo de terminal. La extensión E3 provista por xterm , PuTTY, el kernel Linux, y otras terminales, es la que permite borrar el buffer de pantalla (toda la información visualizada en pantalla previamente). El artículo Cómo desplazarse por la pantalla de una terminal de texto demuestra cómo acceder al buffer de pantalla (scrolback) utilizando las combinaciones de teclas Shift+RePag y Shift+AvPag en una terminal de texto. Esto puede ser importante, por ejemplo, si se trabaja en una terminal serie conectada directamente a un servidor físico y se desea borrar el histrial de pantalla previo, ya sea por privacidad o seguridad.

Simplemente es necesario ejecutar clear sin parámetros:

$ clear

Dependiendo del tipo de terminal, puede que se borre sólo la pantalla o tanto la pantalla como el buffer. En terminales "linux" (TTY o terminal serie en un sistema Linux) la extensión E3 funciona correctamente y se elimina exitosamente todo el buffer de pantalla. Es posible comprobarlo con la combinación de teclas Shift+RePag .

Para conocer el tipo de terminal, simplemente volcar la variable de entorno TERM . Por ejemplo:

emi@hal9000:~$ echo $TERM xterm-256color

En las terminales basadas en xterm , la extensión E3 también funciona y se elimina el contenido del buffer de pantalla junto con la pantalla. Sin embargo, puede haber un comportamiento un tanto extraño dependiendo del gestor de ventanas utilizado, el cual puede llegar a responder a la rueda del ratón o la combinación de teclas Shift+RePag y mostrar una parte de su propio buffer de pantalla, el cual suele ser más reducido.

Para eliminar completamente el buffer en terminales gráficas basadas en xterm se necesita recurrir a reset .

El programa reset se encarga de reinicializar la terminal como si se abriera por primera vez, eliminando así todo buffer de pantalla de la ventana que pudiera quedar.

$ reset

reset tiene muchas opciones de control de la terminal que se está inicializando, pero basta con ejecutarlo sin parámetros para conseguir una terminar fresca. Este utilitario puede ser útil también para recuperar una terminal que ha sido corrompida por una secuencia de caracteres de control incorrecta (por ejemplo, cuando se corrompe la codificación de caracteres de la terminal luego de volcar por pantalla un archivo binario).

Para más información sobre reset y sus opciones disponibles, consultar su página de manual:

man reset



Tal vez pueda interesarte

