Linux tutorial · 5 min read · Sep 17, 2025

Tutorial del comando history de Linux para principiantes (8 ejemplos)

Si tu trabajo implica ejecutar herramientas y scripts en la línea de comandos de Linux, estoy seguro de que hay muchos comandos que estarías ejecutando cada día. Aquellos que son nuevos en la línea de comandos deben saber que existe una herramienta - llamada history - que te da una lista de comandos que has ejecutado anteriormente.

En este tutorial, discutiremos los conceptos básicos del comando history utilizando algunos ejemplos fáciles de entender. Pero antes de hacer eso, vale la pena mencionar que todos los ejemplos aquí han sido probados en una máquina Ubuntu 16.04LTS.

Comando history de Linux

Si sabes cómo utilizar eficazmente el historial de tu línea de comandos, puedes ahorrar mucho tiempo a diario. A continuación se presentan algunos ejemplos en formato de preguntas y respuestas que deberían darte una buena idea de cómo puedes usar el comando history a tu favor.

P1. ¿Cómo funciona el comando history?

El uso básico es simple: solo ejecuta el comando ‘history’.

history

¿Cómo funciona el comando history?

Así que puedes ver que tus comandos ejecutados anteriormente se muestran en la salida. Ten en cuenta que he utilizado el comando ‘more’ para asegurarme de que la visualización de la salida se pause en la primera página (la salida completa de ‘history’ suele ser muy larga).

P2. ¿Cómo hacer que history muestre la fecha y la hora también?

Si deseas que el comando history muestre la fecha y la hora de ejecución de cada comando, puedes hacerlo exportando la variable HISTTIMEFORMAT de la siguiente manera:

export HISTTIMEFORMAT="%F %T: "

Eso es todo. Ahora, cuando ejecutes el comando ‘history’, verás la información de fecha y hora en la salida.

¿Cómo hacer que history muestre la fecha y la hora también?

En caso de que veas que la fecha y la hora son las mismas para todos los comandos, la siguiente explicación debería aclarar las cosas:

Si configuras el HISTTIMEFORMAT en bash, tus nuevas entradas se almacenan en el archivo de historial con un
timestamp, los comandos más antiguos que no tienen un timestamp (los anteriores a que alguna vez configures HISTTIMEFORMAT)
mostrarán una y la misma fecha-hora (supongo que la de la primera entrada encontrada con un
timestamp real).

Este problema debería resolverse por sí mismo después de que tu historial completo se haya actualizado en unos días.

Puedes mirar en ~/.bash_history para ver cuál es la primera línea que tiene un timestamp.
Esas son líneas que comienzan con un # seguido de un número (actualmente) de 10 dígitos.

P3. ¿Cómo hacer que history deje de grabar comandos?

Si surge una situación en la que no deseas que el sistema guarde el historial de tus comandos, puedes hacerlo utilizando la variable HISTSIZE. Simplemente expórtala con cero como su valor, y estarás listo.

Mira el siguiente ejemplo:

Así que puedes ver, ejecutar el comando ‘history’ ahora no produjo ningún resultado.

Ten en cuenta que también hay una variable HISTFILESIZE. Aquí está la diferencia entre las dos:

HISTSIZE es el número de líneas o comandos que se almacenan en memoria en una lista de historial mientras tu
sesión de bash está en curso.

HISTFILESIZE es el número de líneas o comandos que (a) se permiten en el archivo de historial al inicio
de una sesión, y (b) se almacenan en el archivo de historial al final de tu sesión de bash para su uso en
sesiones futuras.

P4. ¿Cómo hacer que history no grabe un solo comando?

Esto se puede hacer configurando la variable HISTCONTROL a ‘ignorespace’. Esto lo puedes hacer de la siguiente manera:

export HISTCONTROL=ignorespace

Ahora, cada vez que ejecutes un comando que no deseas que se grabe en el historial, simplemente ejecútalo con un espacio delante.

P5. ¿Cómo realizar una búsqueda rápida en el historial?

Por supuesto, puedes usar el comando grep para buscar palabras clave o comandos específicos en la salida producida por el comando history. Sin embargo, también existe un método mucho más rápido: reverse-i-search.

Es bastante fácil: todo lo que tienes que hacer es presionar CTRL+R mientras estás en la línea de comandos, y verás que tu indicador se convierte en algo como esto:

Ahora escribe la palabra clave que deseas buscar, y verás sugerencias coincidentes del historial a la derecha. Por ejemplo, escribí ‘man’ (sin comillas), y el primer resultado que obtuve fue ‘man apropos’.

Si esto no es lo que estás buscando, puedes obtener el siguiente resultado coincidente presionando CTRL+R nuevamente. Así que en mi caso, el siguiente resultado que obtuve fue ‘man find search.’

Puedes seguir buscando de esta manera. Una vez que obtengas el resultado que deseas, simplemente presiona la tecla de flecha derecha y obtendrás todo el comando en tu indicador.

Así que ahora puedes ejecutar este comando, o usarlo de cualquier manera que desees.

P6. ¿Cómo ejecutar el comando anterior?

Hay dos maneras fáciles en las que puedes ejecutar el último comando ejecutado: presiona CTRL+P, o ejecuta el siguiente comando:

!!

¿No lo crees (particularmente la segunda manera)? Inténtalo.

En caso de que el requisito sea ejecutar rápidamente el segundo último comando, puedes hacerlo de la siguiente manera:

!-1

Y así sucesivamente.

P7. ¿Cómo hacer que history ignore entradas duplicadas en la salida?

Esto se puede hacer configurando la variable HISTCONTROL a ‘ignoreboth’ y ‘erasedups’. Puedes hacerlo de la siguiente manera:

echo HISTCONTROL=ignoreboth:erasedups

Ahora, cuando ejecutes el comando history, la salida no contendrá duplicados.

P8. ¿Cómo limpiar el historial?

Si deseas limpiar el historial existente para que puedas comenzar de nuevo, usa la opción de línea de comandos -c.

history -c

Conclusión

Probablemente estarás de acuerdo en que history es un comando muy importante del que deberías estar al tanto. En este tutorial, discutimos varios consejos/trucos importantes para obtener lo mejor de esta herramienta. Una vez que hayas practicado estos, dirígete a la página del manual de la herramienta para más información.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.