Estoy trabajando en un objetivo x86 que ejecuta fedora 9.
Cada vez que lo reinicio, mi historial vuelve a algún estado y no tengo los comandos que tenía en las sesiones antes del reinicio.
¿Qué debo cambiar para tener el historial actualizado que tenía antes de reiniciar?
Respuestas:
Cual historia bash-history? Si está perdiendo el historial de bash y tiene varias sesiones a la vez, es porque cada sesión sobrescribe el historial de las demás.
Probablemente desee decirle a bash que no sobrescriba el historial cada vez, sino que lo agregue. Puede hacer esto modificando su .bashrc para que se ejecute
shopt -s histappend
.También puede aumentar el tamaño de su archivo de historial exportando HISTSIZE para que sea un número grande (está en bytes, por lo que 100000 debería ser suficiente).
fuente
HISTSIZE
es el número de comandos para recordar, no el número de bytes.Estaba sufriendo el mismo problema - pero mi
.bashrc
archivo ya tenía elshopt -s histappend
correcto yHISTFILE
,HISTSIZE
,HISTFILESIZE
.Para mí, el problema era que mi
.bash_history
archivo era propiedad de root en lugar de mi nombre de usuario, por lo que mi usuario nunca podría guardar en ese archivo al salir.fuente
sudo chmod your_user_name .bash_history
¡lo hizo! Gracias.sudo chown user_name:user_name ~.bash_history
¡resuelto!Busque las variables de entorno HISTFILE, HISTSIZE, HISTFILESIZE.
fuente
He escrito un script para configurar un archivo de historial por sesión o tarea que se basa en lo siguiente.
No es necesario guardar todos los comandos del historial, pero guarda los que me interesan y es más fácil recuperarlos que luego ejecutar cada comando. Mi versión también enumera todos los archivos de historial y ofrece la posibilidad de buscar en todos ellos.
Fuente completa: https://github.com/simotek/scripts-config/blob/master/hiset.sh
fuente
Escribí algunas líneas en mi .bashrc que logran lo siguiente: Guardar cada sesión después de cada comando en un archivo. Habrá tantos archivos de historial como haya iniciado terminales. Al iniciar un nuevo terminal a partir del archivo de historial más reciente, cargue todos los archivos de historial de sesiones anteriores en el búfer de historial hasta alcanzar un umbral de recuento de líneas.
fuente
Me aseguraría de que .bash_history exista. Si no es así, bash no tiene dónde guardar el historial de comandos.
si .bash_history no existe, créelo ejecutando touch:
esto solo crea el archivo .bash_history vacío en su directorio de inicio, que se llenará con sus comandos y debería persistir entre sesiones.
fuente
Mi instancia de Amazon EC2 Ubuntu no estaba guardando el historial.
.bashrc
tenía todos los comandos necesarios como se menciona en otras respuestas, pero lo único que faltaba era el archivo. Tuve que tocarlo para que funcione.fuente
Buena respuesta a esta pregunta está aquí:
http://linuxcommando.blogspot.com/2007/11/keeping-command-history-across-multiple.html
fuente