El comando “history” de Linux es una herramienta práctica que muestra una lista de todos los comandos que un usuario ha ejecutado previamente en la terminal. Esta lista se almacena en un archivo de historial y, al usar el comando “history“, puedes ver este archivo, lo que facilita recordar y reutilizar comandos anteriores.
Este comando se usa comúnmente para rastrear acciones realizadas en la terminal, especialmente al solucionar problemas o repetir secuencias de comandos complejas. Puede ahorrar tiempo y esfuerzo al permitir a los usuarios recordar y volver a ejecutar rápidamente comandos anteriores sin tener que escribirlos nuevamente. Algunos usuarios también utilizan el historial para auditar o revisar las acciones tomadas en el sistema, lo que ayuda en la administración y seguridad del sistema.
Sintaxis general del comando “history”:
history [OPCIONES...]1. Mostrar comandos usados
history [número]Este comando muestra un número limitado de comandos ejecutados previamente.
Ejemplo:
El comando history 5 en Linux mostrará los últimos 5 comandos que se ejecutaron en la terminal. Aquí tienes un ejemplo de salida:
501 git status
502 cd /var/www/html
503 ls -la
504 nano miarchivo.txt
505 history 5Cada línea muestra un comando del historial, precedido por un número único que representa la posición del comando en el archivo de historial. En este ejemplo, se muestran los últimos cinco comandos que se ejecutaron, incluido el comando history 5 en sí.
2. Eliminar comandos de la lista de historial
history -d [number]Usa la opción -d para eliminar comandos de la lista de historial.
Ejemplo:
Antes de eliminar:
1 ls
2 cd Documentos/
3 touch archivo.txt
4 nano archivo.txt
5 rm archivo.txt
6 historyDespués de ejecutar history -d 5:
1 ls
2 cd Documentos/
3 touch archivo.txt
4 nano archivo.txt
5 historyComo puedes ver, el quinto comando (rm archivo.txt) se ha eliminado del historial.
3. Buscar un comando usado dentro del historial
history | grep [texto]El comando history | grep te ayuda a encontrar comandos que coinciden con un patrón de texto.
Ejemplo:
El comando history | grep cat en Linux buscará en tu historial de comandos y mostrará todas las líneas que contienen la palabra “cat“. El comando grep filtra la salida del comando history para mostrar solo líneas con el patrón especificado, en este caso, “cat“. Aquí tienes un ejemplo de salida:
42 cat archivo.txt
73 cat /etc/passwd
100 cat documentos/nota.txt | more
123 concatenar archivo1.txt archivo2.txt > combinado.txt
150 cat registros/error.log | grep "ERROR"En este ejemplo, cada línea comienza con un número que representa la posición del comando en el historial, seguido del comando en sí. Incluye cada instancia donde aparece “cat“, ya sea el comando cat en sí o solo parte de otra palabra o comando.
4. Borrar la lista de historial
history -cLa opción -c (borrar) se utiliza para borrar todos los comandos de la lista de historial.
5. Ejecutar el comando con el número de evento
!númeroEste comando te permite ejecutar comandos con un número de evento de la lista de historial. No hay necesidad de escribir un comando completo.
Ejemplo:
Supongamos que el décimo comando en tu historial fue ls -l, que enumera los archivos en el directorio actual en formato largo. Si ejecutas !10, la salida podría verse así:
total 24
drwxr-xr-x 5 usuario usuario 4096 May 6 10:00 Documentos
drwxr-xr-x 2 usuario usuario 4096 May 6 09:45 Descargas
drwxr-xr-x 2 usuario usuario 4096 May 6 09:45 Música
drwxr-xr-x 2 usuario usuario 4096 May 6 09:45 ImágenesEsta salida muestra el contenido del directorio actual, tal como si hubieras ejecutado el comando ls -l directamente.
6. Escribir cambios en el archivo bash_history
history -w [nombre_archivo]Usa esta opción para escribir todos los cambios realizados en la sesión actual en el archivo bash_history.
Ejemplo:
El comando history -w archivo.txt en Linux no produce salida en la terminal en sí. En su lugar, escribe el historial actual de comandos en un archivo llamado file.txt.
Entonces, si abrieras archivo.txt, podrías ver algo como esto:
1 cd /home/user/documents
2 ls -la
3 sudo apt-get update
4 nano archivo.txt
5 history -w archivo.txtEste archivo ahora contiene la lista de comandos que se ejecutaron previamente en la terminal, y puedes verlo o editarlo usando cualquier editor de texto.
Más comandos de Linux:
| Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
| Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
| Operaciones de Sistema de Archivos | chown · mkfs · locate |
| Redes | ping · curl · wget · iptables · mtr |
| Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
| Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
| Gestión de Usuarios y Sesiones | screen · su · sudo · open |







¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.