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 5
Cada 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 history
Después de ejecutar history -d 5
:
1 ls
2 cd Documentos/
3 touch archivo.txt
4 nano archivo.txt
5 history
Como 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 -c
La 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úmero
Este 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ágenes
Esta 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.txt
Este 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.