Historial de comandos en Linux: repetir o editar

Cuando iniciamos sesión en una terminal, el entorno de la shell se pone en funcionamiento de acuerdo a nuestras configuraciones personales. Para cada usuario, las mismas se encuentran dentro de archivos ocultos en su correspondiente directorio personal. Uno de estos archivos es ~/.bash_history, donde se guarda el historial de comandos en Linux.

Historial de comandos en Linux

Durante una sesión de usuario que utiliza Bash, los comandos ejecutados son almacenados en la memoria del sistema. Al cerrar la sesión posteriormente, dichos comandos son escritos en ~/.bash_history. La cantidad de comandos que se recuerdan (durante la sesión) depende del valor de la variable de entorno HISTSIZE. Por otro lado, la cantidad que se guarda en ~/.bash_history depende de HISTFILESIZE.

Estas dos variables de entorno se inicializan de manera global en /etc/profile (la segunda generalmente se hace igual a la primera). Sin embargo, pueden modificarse de manera particular para cada usuario utilizando ~/.bash_profile o ~/.profile. El primero suele estar presente por defecto en CentOS y similares, mientras que el segundo es característico de la familia Debian.

Por ejemplo, mediante los siguientes comandos realizaremos las operaciones indicadas:

  1. Ver el valor actual de HISTSIZE y HISTFILESIZE
  2. Modificar ambas variables para el usuario actual, y por último
  3. Leer y ejecutar los cambios mediante el comando source
# Punto 1
echo $HISTSIZE
echo $HISTFILESIZE
# Punto 2 - Modificamos valores
echo "HISTSIZE=1500" >> ~/.bash_profile
echo "HISTFILESIZE=2000" >> ~/.bash_profile
# Punto 2 - Exportar variables
echo "export HISTSIZE" >> ~/.bash_profile
echo "export HISTFILESIZE" >> ~/.bash_profile
# Punto 3
source ~/.bash_profile
echo $HISTSIZE
echo $HISTFILESIZE

En la Fig. 1 vemos el resultado:

Modificar el historial de comandos en Linux
Figura 1 – Modificar el historial de comandos en Linux

Ejecutar un comando del historial

Por suerte, al disponer del historial podemos ejecutar un comando fácilmente sin volver a tener que escribirlo nuevamente. En primer lugar, recordemos que con el comando history podemos listar los comandos disponibles. A continuación, colocando un signo de exclamación y el número del comando en el historial podremos ejecutarlo otra vez. Por ejemplo,

history 10

nos devolverá los últimos 10 comandos ejecutados como observamos en la Fig. 2. Si quisiéramos volver a ejecutar sudo apt-cache search netstat podríamos simplemente escribir

!289

y finalmente presionar Enter.

Ver los últimos 10 registros del historial de comandos en Linux
Figura 2 – Ver los últimos 10 registros del historial de comandos en Linux

Simple, ¿verdad? Espero que esta información es les haya resultado útil. En el próximo post mostraremos cómo editar un comando del historial y ejecutarlo automáticamente. ¡No se lo pierdan!

¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!