Cómo configurar el número de recuperaciones del historial de comandos

Cómo configurar el número de recuperaciones del historial de comandos

Estoy usando bash. Para explorar mi historial de comandos, invoco el historycomando que creo que llama al programa Gnu del mismo nombre. (No sé si hay una mejor forma específica de bash).

En mi .bashrc actualmente tengo una línea export PROMPT_COMMAND='history -a'para preservar el historial de las múltiples sesiones de bash que estoy ejecutando.

Si hago historia actualmente solo veo 524 entradas. ¿Es esto configurable? Me gustaría aumentar esto a un número mucho mayor, digamos 2000.

Respuesta1

En primer lugar,history esLa forma específica de bash, ninguna mejor. El historycomando es un bash incorporado, como puede ver ejecutando

$ type history 
history is a shell builtin

Ahora, la cantidad de comandos que recuerda está controlada por la HISTSIZEvariable. Para configurarlo en un número mayor, agregue esta línea a su .profile(para saber por qué este es un mejor lugar para ello que .bashrc, consulteaquí):

export HISTSIZE=2000

De ahora en adelante, historydevolverá los últimos 2000 comandos que ejecutó.

Respuesta2

La HISTSIZEvariable dicta cuántos comandos se mantienen en el historial de ejecución y HISTFILESIZEdetermina cuántos comandos del historial de ejecución se guardan una vez que se cierra el shell.

Respuesta3

Sí, man bashdice:

HISTSIZE: la cantidad de comandos para recordar en el historial de comandos

Pero hay una Readlinevariable:history-size

Establezca el número máximo de entradas del historial guardadas en la lista del historial. Si se establece en cero, se eliminan todas las entradas del historial existentes y no se guardan entradas nuevas. Si se establece en un valor menor que cero, el número de entradas del historial no está limitado. De forma predeterminada, la cantidad de entradas del historial no está limitada.

Puede configurar history-sizecon HISTSIZE=1000o bind 'set history-size 1000'con la siguiente línea en su ~/.inputrc:set history-size 1000

Ejemplos:

HISTSIZE=1000
bind 'set history-size 0'
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 0
history # prints nothing

bind 'set history-size 0'
HISTSIZE=1000
echo $HISTSIZE # prints 1000
bind -v | grep history-size # prints set history-size 1000
history # prints    13  echo $HISTSIZE\n14  bind -v | grep history-size\n15  history

history-sizedisponible desde bash-4.0-alpha:CAMBIOS

Respuesta4

For more information, I am adding it. I used ubuntu 18. This worked for me.
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE

vi /home/siva/.bashrc  # here we need to update the HISTSIZE variable to the required thing.
NOTE: open new terminal and check updated value will bere printed if you run $ echo $HISTSIZE

Reference Link:
https://www.redhat.com/sysadmin/history-command

información relacionada