Quando digito qualquer comando no terminal, ele não aparece no meu ~/.bash_history
arquivo até sair da minha sessão.
Além disso, quando edito meu ~/.bash_history
arquivo manualmente (por exemplo, removo os três últimos comandos), quando digito, history
ele ainda mostra os comandos que removi do ~/.bash_history
arquivo. Somente quando eu saio da minha sessão e faço o login novamente eles desaparecem.
Como meu ~/.bash_history
arquivo e o history
comando são sincronizados?
command-line
bash
bash-history
sys0dm1n
fonte
fonte
Respostas:
Quando você abre um terminal bash, ele carrega o conteúdo
~/.bash_history
e constrói o histórico do shell ativo (na RAM), adicionando todos os comandos executados nesse shell a ele - e somente a ele, não ao arquivo.Somente quando você fecha um terminal do bash, seu histórico é anexado ao seu
~/.bash_history
arquivo.Opções de
history
:Opções para
~/.bashrc
arquivoSe você deseja alterar esse comportamento para que o histórico temporário seja salvo
~/.bash_history
diretamente após a execução de um comando, adicione esta linha:Se você desejar adicionalmente que cada terminal carregue o
~/.bash_history
arquivo automaticamente após cada execução de comando, adicione esta linha:Se você deseja excluir determinados comandos (por exemplo, tudo que começa com
sudo
ecat
), sejam salvos, adicione esta linha:fonte