Cómo borrar el historial de la terminal o consola en Linux

En Tutoriales y Guías por

El sistema operativo Linux ha demostrado infinidad de veces su gran potencial cuando hacemos uso de la terminal. Su uso es cada vez más amigable y cualquiera con un poco de paciencia puede usar la terminal con soltura. Lo que si debemos conocer, es que el uso de la terminal en Linux implica el registro de los comandos ejecutados en el llamado historial de la terminal o consola. Esto supone ciertos aspectos que debemos conocer al teclear comandos y qué mejor que un tutorial sobre cómo borrar el historial de la terminal o consola en Linux.

borrar historial terminal linux

Muchos os estaréis preguntando por qué borrar el historial de comandos de la terminal, ya que su misión fundamental es precisamente actuar como un registro de lo que hemos hecho. No dudamos de la utilidad de disponer del historial, pero en ocasiones puede contener información sensible como contraseñas o rutas de archivos privados. Al final, el motivo de limpiar el historial no es otro más que proteger nuestra seguridad u ocultar nuestra actividad.

Muchos estaréis pensando en que la solución más sencilla es localizar y borrar el archivo del historial. Este pensamiento no va muy desencaminado, pero nosotros nos detendremos a detallar el proceso de limpieza del historial de comandos bash en Linux.

¿Dónde se almacena el historial de comandos ejecutados en la terminal Linux?

En primer lugar, tenemos que saber que cada usuario del sistema tiene un historial de comandos independiente. Esto en principio da cierta seguridad, pero en un entorno compartido siempre puede haber algún fallo de seguridad y realizar una escalada de privilegios. El archivo que almacena el historial de comandos está localizado generalmente en la carpeta personal del usuario y con el nombre .bash_history.

Para averiguar cuál es la carpeta personal de tu usuario basta con ejecutar el comando echo $HOME. En mi sistema, mi carpeta personal es /home/zeokat y el archivo del historial está localizado en /home/zeokat/.bash_history.

carpeta personal de usuario en linux

Cómo borrar el historial de la terminal o consola en Linux.

En el archivo .bash_history se almacenan los últimos 500 comandos ejecutados. Basta con ejecutar el comando history para ver el listado completo y numerado de los comandos ejecutados. Si sólo queremos ver los últimos 15 comandos del historial, podemos ejecutar el comando history 15.

obtener los últimos comandos del historial de la consola bash

Eliminar un comando específico del historial de comandos.

En ocasiones no queremos eliminar la totalidad del historial y renunciar a este, sino que sólo queremos eliminar un comando concreto del historial. En este caso, tenemos dios opciones:

  • Editar el archivo .bash_history con algún editor de texto como Nano y eliminar las líneas deseadas.
  • Podemos emplear el comando history -d N, donde el parámetro «N» es el número correspondiente del comando que queremos borrar. Por ejemplo, si queremos eliminar el comando que ocupa la posición 120 ejecutaríamos el comando history -d 120 y después guardaríamos los cambios con el comando history -w.

Eliminar el historial completo de la terminal.

Para eliminar el historial de la consola usaremos el comando history -c y después history -w para guardar los cambios.

Vemos que una vez limpio el historial necesitamos guardar los cambios, por lo que siempre quedaría este último comando registrado. Del mismo modo, al cerrar la sesión de terminal podemos ejecutar el comando exit, por lo que también quedaría registrado.

Por este motivo, si queremos eliminar totalmente el historial y dejarlo limpio sin ningún comando, tendremos que ejecutar el comando:

  • Borrar el historial completo: echo "" > ~/.bash_history && history -c
  • Cerrar la sesión de consola y que no se registre el comando exit: echo "" > ~/.bash_history && history -c && exit

Borrar automáticamente el historial al cerrar la sesión de terminal.

Si queremos borrar el historial automáticamente al cerrar la sesión de terminal, tendremos que editar el archivo .bash_logout. En primer lugar usaremos un editor de texto, en nuestro caso usaremos Nano con el comando nano ~/.bash_logout.

Borrar el historial automáticamente al cerrar sesión

Ahora añadimos al comienzo del archivo la línea echo "" > ~/.bash_history && history -c y guardamos los cambios. Ahora, cada vez que terminemos una sesión de terminal con el comando exit, se limpiará el historial automáticamente.

Conclusiones y aclaraciones.

Vemos que cuando borramos el historial hay que ser muy cuidadoso para no dejar ningún rastro. Recordad que un experto siempre puede encontrar mecanismos para saber si alguien ha usado la consola, por ejemplo examinando la fecha y hora de modificación del archivo .bash_history.

También hay muchos usuarios que caen en el error de ejecutar el comando history -c y piensan que ya han borrado el historial. En realidad sólo lo han borrado de la memoria, hay que ejecutar history -w para que la limpieza sea definitiva y se refleje en el archivo .bash_history.