Definindo HISTFILESIZE
e HISTSIZE
, você pode restringir o tamanho do comando do histórico.
Por exemplo, HISTFILESIZE=100
e HISTSIZE=100
. Ele irá restringir o arquivo de histórico para armazenar 100 linhas e HISTFILE
, que armazenará seu comando de sessão de cura na memória para 100 linhas.
Quando o shell é inicializado, o histórico é inicializado a partir do arquivo nomeado pela variável HISTFILE
(default ~ / .bash_history). O arquivo nomeado pelo valor de HISTFILE
será truncado, se necessário, para conter não mais que o número de linhas especificado pelo valor da variável HISTFILESIZE
.
Você pode adicionar HISTFILESIZE=100
e HISTSIZE=100
ao seu arquivo ~/.bashrc
. Mude o 100 com o número que você deseja.
Explicação
HISTFILESIZE=10
e HISTSIZE=10
- Você inicia sua sessão.
- Seu HISTFILE (arquivo que armazena seu histórico de comandos bash) é truncado para conter HISTFILESIZE = 10 linhas.
- Você escreve 50 linhas.
- No final dos seus 50 comandos, apenas os comandos 41 a 50 estão na sua lista de histórico, cujo tamanho é determinado por HISTSIZE = 10.
- Você encerra sua sessão.
- Assumindo que
histappend
não esteja habilitado, os comandos 41 a 50 serão salvos em seu HISTFILE, que agora possui os 10 comandos que ele continha no início, mais os 10 comandos recém-escritos.
- Seu HISTFILE é truncado para conter HISTFILESIZE = 10 linhas.
- Agora você tem 10 comandos em seu histórico - os últimos 10 que você acabou de digitar na sessão que acabou de concluir.
- Quando você inicia uma nova sessão, começa em 1 com um HISTFILE de HISTFILESIZE = 10.
HISTFILESIZE=10
e HISTSIZE=5
- Você inicia sua sessão.
- Seu HISTFILE (arquivo que armazena seu histórico de comandos bash) é truncado para conter no máximo HISTFILESIZE = 10 linhas.
- Você escreve 50 linhas.
- No final dos seus 50 comandos, apenas os comandos 46 a 50 estão na sua lista de histórico, cujo tamanho é determinado por HISTSIZE = 5.
- Você encerra sua sessão.
- Assumindo que
histappend
não esteja habilitado, os comandos 46 a 50 serão salvos em seu HISTFILE, que agora possui os 10 comandos que ele continha no início, mais os 5 comandos recém-gravados.
- Seu HISTFILE é truncado para conter HISTFILESIZE = 10 linhas.
- Agora você tem 10 comandos em seu histórico - 5 de uma sessão anterior e os 5 últimos que você acabou de digitar na sessão que acabou de concluir.
- Quando você inicia uma nova sessão, começa em 1 com um HISTFILE de HISTFILESIZE = 10.
HISTFILESIZE=5
e HISTSIZE=10
- Você inicia sua sessão.
- Seu HISTFILE (arquivo que armazena seu histórico de comandos bash) é truncado para conter no máximo HISTFILESIZE = 5 linhas.
- Você escreve 50 linhas.
- No final dos seus 50 comandos, apenas os comandos 41 a 50 estão na sua lista de histórico, cujo tamanho é determinado por HISTSIZE = 10.
- Você encerra sua sessão.
- Assumindo que
histappend
não está habilitado, os comandos 41 a 50 são salvos em seu HISTFILE, que agora possui os 5 comandos que ele continha no início, mais os 10 comandos recém-escritos.
- Seu HISTFILE é truncado para conter HISTFILESIZE = 5 linhas.
- Agora você tem 5 comandos em seu histórico - os últimos 5 que você acabou de digitar na sessão que acabou de concluir.
- Quando você inicia uma nova sessão, recomeça na etapa 1 com um HISTFILE de HISTFILESIZE = 5.
Esta ótima explicação de: stackoverflow.com