Posible duplicado:
¿Se pueden unificar los archivos de historial en bash?
Utilizo Ubuntu Server 9.10 y me gustaría poder ver mi historial de bash para más de una sesión de terminal. Es decir, mis últimos 200 comandos más o menos, incluso si he cerrado la sesión en el medio.
Cuando uso el historysolo veo todos los comandos de mi sesión de terminal real. ¿Cómo puedo ver más historial de comandos de Bash? ¿Hay alguna configuración específica para bash que deba cambiar de los valores predeterminados en Ubuntu?
No tengo un ~/.bash_historyarchivo Pero tengo un ~/.bashrccon HISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredupsyHISTCONTROL=ignoreboth
echo $HISTFILE
/home/sanoj/.bash_history
echo $HISTSIZE
500
echo $HISTFILESIZE
500
echo $HISTCONTROL
ignoreboth
ACTUALIZACIÓN: ahora estoy probando Ubuntu Server 10.10 en VirtualBox. Si solo apago VirtualBox sin el comando de apagado, la próxima vez que arranque, los comandos de la última sesión no se guardarán en el archivo de historial.
Los comandos solo se guardan si apago la máquina con el comando de apagado. Por ejemplo, apagado -P 0.
Esta debe ser la razón de mi problema. Así que tengo que descubrir cómo guardar el historial de comandos con más frecuencia. Por ejemplo, después de cada comando.
fuente

echo $HISTSIZEyecho $HISTFILESIZE? Mi (Ubuntu)~/.bashrctiene las mismasHISTCONTROLlíneas que la suya, que tiene muerte cerebral ya que el segundo anula al primero y se supone que los valores están separados por dos puntos, no separados por comas. Si lo hace,set -o¿muestra una línea que dice "historial en"?500conechoambas variables yhistory onRespuestas:
Puedes usar
para agregar inmediatamente el historial en memoria al archivo de historial. Una sesión de terminal no puede ver la de otra a menos que esto se haga o se salga de la otra.
Puedes usar
para ver esa cantidad de entradas.
Además de
HISTSIZEver la entrada en la página del manual de Bash concernienteHISTFILESIZE.fuente
history -a´ doesn't do anything for me, and nothistoria 200 | less` tampoco, pero he actualizado mi pregunta con más información. Gracias de cualquier manera.Una vez que cierra la sesión, el historial se agrega al archivo
~/.bash_history. Echa un vistazo allí.Por defecto recordará sus últimos 500 comandos. Si desea guardar más, configure la variable
HISTSIZEen~/.bashrc.También agrego
ignoredupsaHISTCONTROL(conHISTCONTROL=$HISTCONTROL:ignoredup). Esto hace que los comandos duplicados consecutivos se guarden solo una vez.Eche un vistazo a
man 1 bashqué más puede sintonizar sobre la historia.fuente
~/bash_historyarchivo, y noHISTSIZEen~/.bashrcpero tengoHISTCONTROL=$HISTCONTROL${HISTCONTROL+,}ignoredupsyHISTCONTROL=ignorebothes Ubuntu Server, si eso importa..en~/.bash_history. Y paraHISTSIZEello solo usará el valor predeterminado de 500 entradas.~/.bash_historyarchivo en mi sistema. Solíals -acomprobarlo.$HISTFILEvariable, por lo queecho $HISTFILEle indicará dónde buscar.echo $HISTFILEme da/home/sanoj/.bash_history- extraño ¿Quizás no está activado por razones de seguridad?El historial de bash generalmente se carga cuando el shell comienza a ejecutarse, y se guarda cuando se sale normalmente. Puede usar
history -ayhistory -nanular esto, pero no automáticamente a menos que abuse$PROMPT_COMMANDo algo similar.fuente
Sanoj, esto realmente debería "funcionar"; No creo que se suponga que deba hacer nada especial para habilitar esto. Parece que algo está interfiriendo con el curso normal de los eventos.
Buscaría en / etc / profile, / etc / bashrc (o quizás /etc/bash.bashrc según algunas fuentes), ~ / .bash_profile, ~ / .bashrc, ~ / .bash_login, ~ / .bash_logout, para ver si hay algo que pueda estar afectando el historial (tal vez
grep -i histen cada uno de los archivos anteriores).... En particular, me pregunto si tiene algo en ~ / .bash_logout que elimine el archivo.
Alternativamente, ¿es posible que algo anule la
$HOMEvariable?fuente