Saltar al contenido

Evita que un Comando se Guarde en el Historial de Bash!

  • por

¿Alguna vez has ejecutado un comando en la terminal y luego te has dado cuenta de que preferirías que no se guardara en el historial? Como administrador de sistemas Linux (sysadmin), mantener ciertos comandos fuera del historial puede ser crucial por motivos de seguridad o privacidad. A continuación, te mostraremos varias técnicas efectivas para lograr esto, asegurándote de que solo tú sepas qué comandos has ejecutado.

¿Por Qué No Querrías que un Comando se Guarde en el Historial?

La terminal es una herramienta poderosa para cualquier sysadmin. Sin embargo, a veces ejecutamos comandos que no queremos que queden registrados en el historial, como:

  • Comandos que contienen contraseñas.
  • Comandos que modifican configuraciones sensibles.
  • Comandos que realizas por error y prefieres que no queden guardados.

Comenzando con un Espacio en Blanco

Una manera sencilla y rápida de evitar que un comando se guarde en el historial de Bash es comenzarlo con un espacio en blanco. Para que esto funcione, necesitas configurar tu Bash adecuadamente. Asegúrate de tener esta línea en tu archivo .bashrc o .bash_profile:

export HISTCONTROL=ignorespace

Luego, cada vez que quieras ejecutar un comando sin que se guarde en el historial, simplemente empieza con un espacio:

 comando_secreto

Desactivación Temporal del Historial

Otra opción es desactivar temporalmente el historial antes de ejecutar el comando. Esto es útil si necesitas ejecutar varios comandos seguidos sin que se registren.

set +o history
comando_secreto
set -o history

Uso de HISTIGNORE

Si hay comandos específicos que siempre deseas que se excluyan del historial, puedes usar la variable HISTIGNORE. Añade los comandos que quieres ignorar a esta variable:

export HISTIGNORE='comando_secreto:otro_comando'

De esta manera, cada vez que ejecutes comando_secreto o otro_comando, no se guardarán en el historial.

Redirigir el Historial a /dev/null

Si quieres asegurarte de que un comando no quede registrado durante una sesión específica, puedes redirigir el archivo del historial a /dev/null temporalmente.

HISTFILE=/dev/null comando_secreto

Eliminar el Último Comando del Historial

Si ya has ejecutado un comando y te das cuenta de que no debería haberse guardado, puedes eliminar el último comando del historial utilizando history -d:

comando_secreto
history -d $(history 1)

Usar builtin command

Para evitar que un comando se guarde en el historial, también puedes utilizar el comando builtin:

builtin command comando_secreto

Resumen

Cada técnica tiene sus propios usos y ventajas. Aquí tienes un resumen rápido:

  1. Espacio en Blanco: Rápido y fácil, solo asegúrate de que HISTCONTROL esté configurado adecuadamente.
  2. Desactivación Temporal del Historial: Ideal para ejecutar múltiples comandos.
  3. HISTIGNORE: Perfecto para comandos repetitivos que siempre quieres excluir.
  4. Redirigir a /dev/null: Útil para sesiones específicas donde no quieres guardar ningún comando.
  5. Eliminar el Último Comando: Solución rápida si te das cuenta de un error después de ejecutar el comando.
  6. builtin command: Método alternativo para evitar el registro en el historial.

Con estas técnicas, puedes asegurarte de que los comandos sensibles no se guarden en el historial de Bash, manteniendo así tu trabajo en la terminal más seguro y privado. ¡Prueba estas opciones y encuentra la que mejor se adapte a tus necesidades!

¿Tienes alguna otra técnica que utilices para manejar el historial de la terminal en Linux? ¡Déjanos tus comentarios y comparte tu experiencia!

Join the conversation

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *