Comandos LinuxExplicados en español
/
Ficha82 / 104
Categoría
Sistema
Ejemplos
5
Ver también
grep · crontab · less

history

history (historial)

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.

Sintaxishistory [opciones]
Precaución

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.

§ 1

Despiece

5 ejemplos
Ver todo el historial

Ver todo el historial

1 pieza
Lámina01 / 05
Comandohistory
Piezas1
Escala1:1
N.ºPiezaTipoQué hace
1historyComandoMuestra la lista de comandos ejecutados anteriormente, numerados.
Resultado

Muestra líneas como ' 123 ls -la' con su número para repetirlos.

Ver solo los últimos 10 comandos

2 piezas
Lámina02 / 05
Comandohistory 10
Piezas2
Escala1:1
N.ºPiezaTipoQué hace
1historyComandoMuestra el historial.
210ValorMuestra solo los últimos 10 comandos.
Resultado

Solo aparecen las últimas 10 líneas del historial.

Buscar un comando en el historial

4 piezas
Lámina03 / 05
Comandohistory | grep ssh
Piezas4
Escala1:1
N.ºPiezaTipoQué hace
1historyComandoMuestra el historial completo.
2|OperadorEnvía la salida al siguiente comando.
3grepComandoBusca líneas que coincidan con el patrón.
4sshValorTexto a buscar (comandos ssh).
Resultado

Muestra solo las líneas del historial donde aparece 'ssh'.

Repetir un comando por número

1 pieza
Lámina04 / 05
Comando!123
Piezas1
Escala1:1
N.ºPiezaTipoQué hace
1!123ValorEjecuta nuevamente el comando número 123 del historial.
Resultado

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

3 piezas
Lámina05 / 05
Comandohistory -d 5
Piezas3
Escala1:1
N.ºPiezaTipoQué hace
1historyComandoComando para manejar el historial.
2-dOpciónBorra una línea del historial.
35ValorNúmero de línea a borrar.
Resultado

La línea 5 desaparece del historial en memoria. Para que quede guardado en el archivo, ejecuta history -w después.

§ 2

Opciones

Las que sí vas a usar
OpciónQué hace
-cBorra el historial en memoria de esta terminal. El archivo ~/.bash_history no cambia; para vaciarlo también, sigue con history -w.
-wGuarda el historial actual en el archivo de historial (~/.bash_history por defecto). Úsalo junto con -c para limpiar.
-rLee el historial desde el archivo y lo agrega al historial en memoria.
-aAñade al archivo todos los comandos nuevos desde el último guardado.
-nLee del archivo solo las líneas nuevas que aún no están en memoria.
-dBorra una línea específica del historial (por ejemplo history -d 5 borra la línea 5).
§ 3

Fallas comunes

FallaRemedio
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.
§ 4

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.
§ 5

Ver también