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:
- Ver el valor actual de HISTSIZE y HISTFILESIZE
- Modificar ambas variables para el usuario actual, y por último
- 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:
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.
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!