Estou usando o Linux Mint 17.1 Rebecca por cerca de 2 dias e digitei minha senha acidentalmente no terminal que agora é exibido na lista de histórico de comandos que digitei anteriormente.
Eu quero limpar o histórico do terminal completamente. Eu tentei usar os seguintes comandos no terminal que pensei que limpariam o histórico para sempre, mas eles não:
history -c
reset
tput reset
Os comandos acima "limparão" o histórico do terminal, mas quando eu sair e abrir um novo, todo o meu histórico anterior ainda estará lá e poderá ser listado novamente usando o comando - history e também pressionando a seta PARA CIMA no teclado . Não quero que isso aconteça até que eu tenha limpado totalmente minha história, então quero continuar usando-a.
Como posso limpar meu histórico de terminais completamente - para sempre e começar de novo?
Observação: não quero sair do terminal sem salvar o histórico, limpe-o para sempre nesta única instância.
fonte
sed -i "s/$your_pass//g" ~/.bash_history
...Respostas:
reset
output reset
apenas faz as coisas no terminal. O histórico é totalmente gerenciado pelo shell, que permanece inalterado.history -c
limpa seu histórico no shell atual. É o suficiente (mas exagero) se você digitou sua senha e não saiu do shell ou salvou seu histórico explicitamente.Quando você sai do bash, o histórico é salvo no arquivo de histórico, que por padrão está
.bash_history
no seu diretório pessoal. Mais precisamente, o histórico criado durante a sessão atual é anexado ao arquivo; as entradas que já estão presentes não são afetadas. Para substituir o arquivo de histórico pelo histórico do shell atual, executehistory -w
.Em vez de remover todas as entradas do histórico, você pode abrir
.bash_history
em um editor e remover as linhas que não deseja manter. Você também pode fazer isso dentro do bash, de forma menos conveniente, usandohistory
para exibir todas as entradas, depoishistory -d
excluir as entradas que não deseja e, finalmente,history -w
salvar.Observe que, mesmo depois de editar o arquivo de histórico, é possível que sua senha ainda esteja presente em algum lugar do disco a partir de uma versão anterior do arquivo. Ele não pode mais ser recuperado através do sistema de arquivos, mas ainda pode ser possível (mas provavelmente não é fácil) encontrá-lo acessando o disco diretamente. Se você usar essa senha em outro lugar e seu disco for roubado (ou alguém obtiver acesso ao disco), isso pode ser um problema.
fonte
history
para verificar o conteúdo do log de história e os números de linha que deseja excluir, suposto que pretende eliminar o número da linha 1000 no log de história, entãohistory -d 1000
Tentei a história -c, mas a história volta assim que saímos e reabrimos. Isso me ajudou.
Isso limpa o histórico salvo no arquivo de histórico e o histórico da sessão atual (para que não seja salvo no arquivo quando
bash
sair). Em seguida, sai do shell. A próxima sessão do shell não terá histórico.fonte
Em vez de remover todas as entradas do seu histórico, digite estes comandos no seu terminal:
history -c
(para excluir histórico)history -w
(salvar histórico)fonte
inc_append_history
ou ashare_history
opção estiver definida.Como há um problema de segurança aqui, considere excluir com segurança o arquivo de histórico.
fonte
Como neófito diante do mesmo problema, recorri ao expediente bastante brutal de excluir e recriar o arquivo de história:
Funcionou para mim sem causar efeitos colaterais desagradáveis dos quais estou ciente.
fonte
Tipo:
history -c; rm ~/.bash_history
history -c
limpa o histórico da sua sessão atual,rm ~/.bash_history
limpa o histórico de longo prazo,history -c; rm ~/.bash_history
limpa os dois.fonte