history
Muestra los comandos que has ejecutado antes.
Sirve para recordar qué comandos ejecutaste en la terminal. Lo usas para repetir comandos, buscar algo que hiciste antes o guardar un registro de lo que trabajaste.
history [opciones]Tu historial puede guardar información sensible (contraseñas en texto plano si las escribes en el comando, tokens, rutas privadas). Borra líneas con history -d si eso pasa o limpia con history -c con precaución.
Despiece
5 ejemplosVer todo el historial
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | history | Comando | Muestra la lista de comandos ejecutados anteriormente, numerados. |
Muestra líneas como ' 123 ls -la' con su número para repetirlos.
Ver solo los últimos 10 comandos
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | history | Comando | Muestra el historial. |
| 2 | 10 | Valor | Muestra solo los últimos 10 comandos. |
Solo aparecen las últimas 10 líneas del historial.
Buscar un comando en el historial
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | history | Comando | Muestra el historial completo. |
| 2 | | | Operador | Envía la salida al siguiente comando. |
| 3 | grep | Comando | Busca líneas que coincidan con el patrón. |
| 4 | ssh | Valor | Texto a buscar (comandos ssh). |
Muestra solo las líneas del historial donde aparece 'ssh'.
Repetir un comando por número
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | !123 | Valor | Ejecuta nuevamente el comando número 123 del historial. |
Se vuelve a ejecutar exactamente el comando que estaba en la línea 123 del historial. (En bash, esto es expansión de historial.)
Borrar una línea específica del historial
| N.º | Pieza | Tipo | Qué hace |
|---|---|---|---|
| 1 | history | Comando | Comando para manejar el historial. |
| 2 | -d | Opción | Borra una línea del historial. |
| 3 | 5 | Valor | Número de línea a borrar. |
La línea 5 desaparece del historial en memoria. Para que quede guardado en el archivo, ejecuta history -w después.
Opciones
Las que sí vas a usar| Opción | Qué hace |
|---|---|
| -c | Borra el historial en memoria de esta terminal. El archivo ~/.bash_history no cambia; para vaciarlo también, sigue con history -w. |
| -w | Guarda el historial actual en el archivo de historial (~/.bash_history por defecto). Úsalo junto con -c para limpiar. |
| -r | Lee el historial desde el archivo y lo agrega al historial en memoria. |
| -a | Añade al archivo todos los comandos nuevos desde el último guardado. |
| -n | Lee del archivo solo las líneas nuevas que aún no están en memoria. |
| -d | Borra una línea específica del historial (por ejemplo history -d 5 borra la línea 5). |
Fallas comunes
| Falla | Remedio |
|---|---|
| Ejecutar comandos con contraseñas en el historial. | Nunca escribas contraseñas, tokens o claves como argumentos. Si lo haces por error, borra esa línea con history -d <número> y luego history -w. |
| Pensar que history -c también vacía ~/.bash_history. | Solo borra la lista en memoria; el archivo queda igual. Para limpiar ambos: history -c && history -w. |
| Escribir un comando que empieza con espacio y no encontrarlo después. | En Debian y Ubuntu HISTCONTROL=ignoreboth: lo que empieza con espacio no se guarda. Úsalo a propósito cuando el comando lleve datos sensibles. |
Preguntas frecuentes
- ¿Cómo veo el historial de comandos?
- Escribe history en la terminal. Para ver los últimos N, escribe history N.
- ¿Cómo busco algo en mi historial?
- Con history | grep 'palabra'. También puedes usar Ctrl+R en bash para búsqueda inversa.
- ¿Cómo repito el último comando?
- Usa !! o la flecha arriba. También puedes usar !número si conoces el número en history.
- ¿Cómo borro una línea del historial?
- Con history -d N (donde N es el número de línea). Luego guarda con history -w para que quede en el archivo.
- ¿Cómo limpio todo mi historial?
- En la sesión actual: history -c && history -w. Esto borra el historial en memoria y lo sobreescribe en ~/.bash_history.