Eu costumava pensar que deletar meu histórico bash era o suficiente para limpar meu histórico bash, mas ontem meu gato estava mexendo no lado direito do meu teclado e quando voltei ao meu computador vi algo que digitei há um mês, então comecei a pressione todas as teclas como um louco procurando o que poderia ter acionado isso. Acontece que a tecla UPARROW mostra meu histórico bash mesmo depois de deletar .bash_history.
Como posso excluir meu histórico bash de verdade?
Em alguns casos (algumas versões do bash), fazendo um:
Ou simplesmente
Irá limpar o histórico na memória (as setas para cima e para baixo não terão comandos para listar) e, em seguida, gravá - lo no
$HISTFILE
arquivo (se$HISTFILE
for truncado pela instância do bash em execução).Às vezes, o bash escolhe não truncar o
$HISTFILE
arquivo, mesmo com ahistappend
opção não definida e$HISFILEZIZE
definida como 0.Nesses casos, a opção nuke sempre funciona:
Isso limpa a lista do histórico de comandos gravados na memória e todos os comandos gravados anteriormente no arquivo. Isso garantirá que o shell em execução não tenha histórico gravado na memória ou no disco; no entanto, outras instâncias em execução do bash (onde o histórico está ativo) podem ter uma cópia completa dos comandos lidos
$HISTFILE
quando o bash foi iniciado (ou quando umhistory -r
é executado) .Se também for necessário que nada mais (sem novos comandos) da sessão atual seja gravado no arquivo de histórico,
unset HISTFILE
impedirá qualquer registro desse tipo.bash
tem um histórico de sessão na memória que é gravado no arquivo se a variável shellHISTFILE
for definida como um nome de arquivo aobash
sair.Se você excluir o arquivo apontado por
HISTFILE
, desdefinir essa variável e sairbash
, essa sessão de shell não deixará nenhum histórico persistente.Deixar de definir a
HISTFILE
variável, mas excluir o arquivo, apenas esvaziaria o histórico persistente, mas o histórico da sessão atual seria salvo quando o shell for encerrado.Eu tive um problema semelhante e a execução dos dois comandos a seguir removeu o histórico do bash
$ history -c
$ cat /dev/null > ~/.bash_history
Em seguida, certifique-se de sair de todos os terminais e iniciar um novo terminal, e você não deve ver nenhum comando de histórico ao pressionar o botão de seta para cima.
"Como posso deletar meu histórico bash de verdade?"
Saia do bash, inicie um shell diferente, exclua o arquivo de histórico do bash.
ou
faça logout, faça login em uma conta diferente que tenha permissão de gravação no arquivo de histórico, exclua o arquivo de histórico.
Abra seu gerenciador de arquivos e marque mostrar arquivos ocultos. Encontre
.bash_history
na sua pasta pessoal. Abra-o com seu editor de texto. Exclua o conteúdo do arquivo. Tarefa concluída.Ao sair da casca, faça tudo de uma vez, como