Existem diferentes maneiras de realizar essa tarefa, mas vamos esclarecer algo antes de prosseguir.
Existe um arquivo chamado: ~/.bash_history
, que contém seu histórico de sessões de terminal mais antigo, sempre que você fechar seu terminal, seu histórico será salvo lá.
Ao mesmo tempo, o histórico de suas sessões antigas, juntamente com a sessão atual, é acessível temporariamente pelos comandos history
até que você feche o terminal, que será salvo no arquivo ~/.bash_history
.
Portanto, se você remover 5 linhas no final de ~/.bash_history
, o terminal de fechamento fará com que seu comando atual seja acessível nas próximas sessões.
Então, se eu fizer um wc
em .bash_history:
wc -l ~/.bash_history
Na maioria das vezes, recebo um número menor que history | wc -l
.
Se você quiser remover as últimas 5 linhas do arquivo, você pode usar este comando:
for i in {1..5}; do sed -i '$d' .bash_history; done;
E se você quiser manter todo o histórico, exceto o último comando 5 emitido na sessão atual, execute:
history | awk '{ print }' | head -n -5 > .bash_history
Não se esqueça de executar history -c
também.