¿Cómo busco el historial de comandos de shell con un editor de texto?


8

Sé que Ctrl+ te Rpermite buscar el historial de comandos, pero es un poco primitivo. ¿Hay alguna forma de exportar todo mi historial de comandos (no solo la sesión de terminal actual, sino el historial completo) a un archivo de texto? Entonces podría usar un editor de texto para buscarlo cómodamente. O si el archivo de historial ya existe, ¿dónde está?


Asumiré que te refieres al historial de comandos de tu shell y que has editado para usar el shell predeterminado, bash.
muru

Respuestas:


13

De man bash:

HISTFILE
    The name of the file in which command history is saved.
    The default value  is  ~/.bash_history.
    If unset, the command history is not saved when a shell exits.

Por lo tanto, la variable HISTFILEcontendrá el nombre de archivo donde se guardará el historial.

$ echo "$HISTFILE"
/home/user/.bash_history

Ahora puede buscar el patrón:

$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt

Como señaló @Dennis, si lo desea, puede ejecutar history -apara agregar el historial de comandos de la sesión en ejecución al $HISTFILEarchivo. Básicamente, los comandos se agregarán automáticamente una vez que cierre una sesión, history -aharán lo mismo en ese instante.

Corre help historypara tener más idea sobre el historypropio edificio.


1
Tenga en cuenta que el archivo de historial generalmente no contendrá líneas ingresadas desde el comienzo de la sesión de bash actual, que se puede solucionar ejecutando history -a.
Dennis

@Dennis: Buen punto ... agregado ...
heemayl


3

El historial de bash se guarda en su directorio de inicio ~/.bash_history.

Básicamente Ctrl+ Rbúsquedas de este archivo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.