¿Dónde se almacena el historial de bash?

Pregunta:

Si ejecuto el history , puedo ver mis últimos comandos ejecutados.

Pero si hago tail -f $HISTFILE o tail -f ~/.bash_history , no aparecen en la lista.

¿El archivo se bloquea, hay una ubicación temporal o algo similar?

Respuesta:

Bash mantiene la lista de comandos internamente en la memoria mientras se ejecuta. Están escritos en .bash_history al salir :

Cuando sale un shell interactivo, las últimas líneas $ HISTSIZE se copian de la lista del historial al archivo nombrado por $ HISTFILE

Si desea forzar la escritura del history -a comandos, puede usar el comando history -a , que hará lo siguiente:

Agregue las nuevas líneas de historial (líneas de historial ingresadas desde el comienzo de la sesión actual de Bash) al archivo de historial.

También hay una opción -w :

Escriba el historial actual en el archivo de historial.

lo que puede ser más adecuado para ti dependiendo de cómo uses exactamente tu historial.

Si desea asegurarse de que siempre se escriban de inmediato, puede poner ese comando en su variable PROMPT_COMMAND :

export PROMPT_COMMAND='history -a'

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım