Ayer emití muchos comandos en mi CentOS 7. Pero cuando quería recuperar estos comandos hoy, descubrí que no había ningún registro. Cuando abrí el archivo .bash_history, todavía no podía encontrar los comandos que emití ayer, pero encontré muchos comandos antiguos hace unos días. ¿Por qué no se almacenaron los comandos recientes? ¿Cómo puedo aumentar la capacidad del historial?
bash
command-history
Jack
fuente
fuente

Respuestas:
La causa más probable de que los elementos del historial no aparezcan no es establecer
HISTFILEnada oHISTSIZEcero, es iniciar sesión en la misma máquina dos veces y salir con la segunda instancia de bash (en la que hizo poco o nada) después de aquella en la que hiciste mucho De manera predeterminada, Bash no combina los historiales y la segunda salida de Bash sobrescribe la.bash_historyque Bash-exit actualizó tan bien.Para evitar que esto suceda, puede agregar al archivo de historial en lugar de sobrescribir, puede usar la
histappendopción de shell:Más detalles en esta respuesta , incluyendo cómo utilizar
HISTSIZE,HISTFILESIZEyHISTCONTROLpara controlar el tamaño, duplicados, etc.fuente
Para modificar el tamaño del historial, use dos variables BASH
HISTSIZE,HISTFILESIZE(generalmente configuradas.bashrc).Descripción de la página de manual de BASH:
Como ejemplo, tengo la siguiente configuración en mi
.bashrcarchivo:fuente
Esto sucedió pero la solución no figuraba aquí. La causa fue solo un simple problema de copiar + pegar. Estaba copiando un comando de otro documento y tenía algo de espacio en blanco adicional en el portapapeles. Por alguna razón, esto provocó que Ubuntu no guardara el comando en el archivo de historial.
La imagen de arriba era el comando que tenía en mi portapapeles de Google Docs. Este comando se ejecutó pero se omitió de mi historial. Acabo de regresar y seleccioné el comando sin espacios en blanco y luego apareció en el historial de bash.
fuente
Verifique que su
HISTCONTROLvariable de entorno no esté establecida enignorespaceoignoreboth.Puede modificarlo estableciendo el valor en su
~/.bash_profileo su~/.profilearchivo:Desde la
bashpágina del manual:fuente