Guía completa del comando Linux history
Manual completo de comandos Linux
history es un comando integrado extremadamente útil en el sistema Linux, que registra el historial de todos los comandos ejecutados por el usuario en la terminal. Esta función es especialmente valiosa en los siguientes escenarios:
- Rastrear operaciones: ver los comandos ejecutados anteriormente
- Reutilización rápida: sin necesidad de volver a escribir comandos largos
- Solución de problemas: revisar el registro de operaciones del sistema
- Mejora de eficiencia: completar rápidamente tareas repetitivas mediante comandos históricos
Cuando escribes comandos en la terminal, Bash los guarda en la memoria y, al salir, los escribe en el~/.bash_historyarchivo (en la configuración predeterminada).
Sintaxis básica y uso
La sintaxis básica del comando history es muy sencilla:
history [选项] [参数]
Formas comunes
1. Ver el historial completo:
history
2. Ver las últimas N entradas:
history 10 # 显示最近10条命令
3. Borrar todo el historial:
history -c
4. Eliminar un registro histórico específico (por ejemplo, eliminar la entrada 1010):
history -d 1010
Explicación detallada de opciones y parámetros comunes
El comando history admite varias opciones útiles:
| Opción | Descripción | Ejemplo |
|---|---|---|
-c |
Borrar todo el historial | history -c |
-d |
Eliminar el historial en la posición especificada | history -d 1005 |
-a |
Escribir inmediatamente el historial de la memoria en el archivo de historial | history -a |
-n |
Leer del archivo de historial los registros no leídos | history -n |
-r |
Leer el contenido del archivo de historial en la sesión actual | history -r |
-w |
Escribir el historial actual en el archivo de historial | history -w |
Consejos prácticos y usos avanzados
1. Ejecutar rápidamente comandos históricos
Ejemplo
!! # Ejecutar el comando anterior
!string # Ejecutar el comando más reciente que comienza con string
Ejemplo:
Ejemplo
!! # Volver a ejecutar el comando anterior
!vim # Ejecutar el comando más reciente que comienza con vim
2. Buscar comandos históricos
UsaCtrl+Rpara buscar hacia atrás en el historial de comandos; introduce parte de la palabra clave para encontrar el comando que coincide.
3. Sustitución de comandos históricos
Ejemplo
Ejemplo:
Ejemplo
$ ^file1^file2 # Equivale a ejecutar cat file2.txt
4. Mostrar la marca de tiempo de los comandos
En~/.bashrcagrega la siguiente configuración para mostrar la hora de ejecución del comando:
Ejemplo
Luego ejecuta:
Ejemplo
Después de estohistoryel comando mostrará la hora de ejecución de cada comando.
Configuración de variables de entorno
Puedes personalizar el comportamiento del comando history mediante variables de entorno:
| Variable | Descripción | Valor recomendado |
|---|---|---|
HISTSIZE |
Número de comandos históricos guardados en memoria | 5000 |
HISTFILESIZE |
Número de comandos guardados en el archivo de historial | 10000 |
HISTCONTROL |
Controla cómo se registra el historial | ignoredups:erasedups |
HISTIGNORE |
Especifica comandos que no se registran | "ls:cd:pwd:exit" |
Ejemplo de configuración (añadir a~/.bashrc):
Ejemplo
export HISTFILESIZE=10000
export HISTCONTROL=ignoredups:erasedups
export HISTIGNORE="ls:cd:pwd:exit"
export HISTTIMEFORMAT="%F %T "
Escenarios de aplicación práctica
Escenario 1: Recuperar comandos olvidados
Ejemplo
Escenario 2: Estadísticas de comandos más usados
Ejemplo
Escenario 3: Respaldar el historial
Ejemplo
cp ~/.bash_history ~/command_history_backup_$(date +%F).txt
Precauciones
- Privacidad y seguridad: el historial puede contener información sensible (como contraseñas), protéjelo adecuadamente
- Problema de múltiples terminales: las sesiones de diferentes terminales no comparten el historial en tiempo real de forma predeterminada
- Pérdida del historial: una salida anormal puede hacer que los comandos no se guarden
- Manejo de archivos grandes: un archivo de historial demasiado grande puede afectar el rendimiento
Resumen y ejercicios
Revisa tu historial de comandos y encuentra los 5 comandos git más recientes
history | grep git | tail -5
Configura tu entorno bash para que el historial incluya marcas de tiempo e ignore comandos duplicados
Crea un alias para respaldar rápidamente el historial actual en un directorio específico
alias backup_history='cp ~/.bash_history ~/history_backups/history_$(date +%Y%m%d_%H%M%S).txt'
Intenta usar
Ctrl+Rpara buscar algún comando complejo que hayas usado antes
Al dominar el comando history, puedes mejorar significativamente tu eficiencia en la terminal de Linux, reducir la entrada repetida y gestionar mejor el historial de tus operaciones de línea de comandos.
Otras extensiones