Descripción general de history
Cada vez que el usuario ingresa un comando en el terminal, ese comando se registra en un archivo de historial (generalmente `~/.bash_history` o `~/.zsh_history`). El comando `history` lee el contenido de este archivo y lo muestra en pantalla, y el historial se conserva incluso después de cerrar la sesión del shell.
Rol principal de history
El comando `history` se utiliza principalmente para los siguientes propósitos:
Principales áreas de uso
- Reejecución de comandos: Puedes reejecutar fácilmente comandos largos que usaste anteriormente sin necesidad de volver a escribirlos.
- Seguimiento de tareas: Ayuda a verificar qué tareas se han realizado en el pasado y a comprender el flujo de trabajo.
- Mejora de la productividad: Ahorra tiempo al encontrar rápidamente comandos que usas con frecuencia.
- Referencia para escribir scripts: Utiliza combinaciones de comandos que ejecutaste con éxito en el pasado para escribir scripts.
Variables de entorno y history
La funcionalidad del historial se ve afectada por varias variables de entorno:
Principales variables de entorno relacionadas
- `HISTSIZE`: El número máximo de comandos que se pueden almacenar en memoria. Se mantiene durante la sesión actual del shell.
- `HISTFILESIZE`: El número máximo de comandos que se pueden almacenar en el archivo de historial (`~/.bash_history`, etc.). Se conserva entre sesiones del shell.
- `HISTFILE`: Especifica la ruta del archivo donde se guarda el historial de comandos. El valor predeterminado es `~/.bash_history`.
- `HISTCONTROL`: Controla cómo se registra el historial. (Ej: `ignoredups` - ignora comandos duplicados, `ignorespace` - ignora comandos que comienzan con espacio)
Opciones principales del comando history
El comando `history` ofrece varias opciones necesarias para consultar, modificar y gestionar la lista de historial.
1. Consultar y mostrar historial
2. Modificar y reejecutar historial
Comando generado:
Combina los comandos.
Descripción:
`history` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Aprende a consultar y reutilizar efectivamente el historial de comandos a través de varios ejemplos de uso del comando `history`.
Consultar los últimos 20 comandos
history 20
Muestra la lista de los 20 comandos más recientes ejecutados con sus números.
Buscar una cadena específica en el historial de comandos
history | grep docker
Usa el comando `grep` para encontrar comandos que contengan 'docker' en el historial `history`.
Reejecutar el último comando `ls`
!ls
Encuentra y reejecuta el comando más reciente que comenzó con `ls`.
Reutilizar el último argumento del último comando
cat /var/log/syslog
less !$
Esto es útil cuando has ejecutado `cat /var/log/syslog` y deseas volver a abrir `/var/log/syslog` con el comando `less`.
Guardar inmediatamente el historial actual del shell en un archivo
history -w
Guarda inmediatamente todos los comandos ejecutados en la sesión actual en el archivo `~/.bash_history` antes de cerrar el shell.
Eliminar un número de historial específico
history -d 125
Elimina el comando número 125 del historial cuando se verifica con el comando `history`. (Nota: una vez eliminado, no se puede recuperar)