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
HISTFILE
nada oHISTSIZE
cero, 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_history
que Bash-exit actualizó tan bien.Para evitar que esto suceda, puede agregar al archivo de historial en lugar de sobrescribir, puede usar la
histappend
opción de shell:Más detalles en esta respuesta , incluyendo cómo utilizar
HISTSIZE
,HISTFILESIZE
yHISTCONTROL
para 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
.bashrc
archivo: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
HISTCONTROL
variable de entorno no esté establecida enignorespace
oignoreboth
.Puede modificarlo estableciendo el valor en su
~/.bash_profile
o su~/.profile
archivo:Desde la
bash
página del manual:fuente