
No terminal, o histórico do bash geralmente é útil quando você procura uma linha de comando que já usou. Mas existe uma maneira de influenciar o comportamento do histórico do bash (ou seja, quais comandos são salvos, por quanto tempo são salvos, quantos são salvos e assim por diante)?
Responder1
Diversas variáveis controlam o comportamento do seu histórico:
HISTCONTROL
: controla como os valores são salvos em seu histórico. Os valoresignorespace
,ignoredups
eerasedups
podem ser inseridos aqui (separe-os por dois pontos).HISTFILE
: define a localização do arquivo de histórico.HISTFILESIZE
: define o número máximo de linhas em seu arquivo de histórico.HISTIGNORE
: tem uma lista de padrões que o bash ignora (vejaa outra respostapara sintaxe).HISTSIZE
: contém várias linhas que são lembradas no shell real.HISTTIMEFORMAT
: contém uma expressão sobre como uma entrada é formatada (vejaoutra resposta)
Responder2
Configurando carimbo de data/hora para histórico:
Por padrão, o histórico não é anexado ao carimbo de data/hora, mas é fácil configurá-lo para exibir o carimbo de data/hora, você só precisa definir uma variável de ambienteHISTTIMEFORMAT.
export HISTTIMEFORMAT="%h/%d - %H:%M:%S "
- Execute o histórico novamente para ver o resultado.
Se você não quiser salvar os comandos no histórico, então
export HISTSIZE=0
VARIÁVEIS:
- HISTFILE - Controla onde o arquivo de histórico é salvo.
- HISTFILESIZE - Controla quantos comandos de histórico devem ser mantidos em HISTFILE.
- HISTSIZE - Controla quantos comandos de histórico devem ser mantidos na lista de histórico da sessão atual.
- HISTIGNORE - Controla quais comandos ignorar e não salvar na lista de histórico.
Observação:
- Você perderá suas configurações ao fechar o terminal. Portanto, se quiser que ele tenha permanentemente, você deve adicionar o comando acima a
~/.bashrc
ou~/.bash_aliases
.
Responder3
Você poderia adicionar uma linha como
export HISTFILESIZE=5000
para ~/.bashrc
aumentar o tamanho do histórico. Por padrão, os comandos iniciados com um espaço não são salvos. Isso se deve ao export HISTCONTROL=ignoreboth
fato de estar habilitado globalmente no Ubuntu por padrão.
Você também pode ignorar comandos começando com l
ou which
usando
export HISTIGNORE="l*:which*"
Responder4
Existe uma maneira de contar a história e NÃO lembrar de um comando: basta começar com um espaço. Também existe uma maneira muito fácil de recuperar um comando específico: digite CTRL+R e uma palavra do comando que você está procurando.
Certamente existe uma maneira de aumentar o histórico padrão que é de 500 linhas por padrão... mas não sei como, desculpe!