Uso:
su
vim ~/.bash_history
O histórico não salva o comando se tiver um espaço na frente dele.
Isso depende da variável HISTCONTROL
. Por padrão (para root) é ignoredups:ignorespace
.
O arquivo .bash_history do root pode ter a seguinte aparência:
line 1
line 2
line 3
line 4
Agora eu apago as linhas 3 e 4
su
vim ~/.bash_history
#delete line 3 und 4 with dd
line 1
line 2
:wq
ENTER
CTRL + D
Mas se eu der uma olhada agora em .bash_history:
su
cat ~/.bash_history
#.bash_history
line 1
line 2
vim ~/.bash_history
Então, como posso excluir apenas uma parte do histórico sem a última linha mostrando que editei o arquivo.
Obrigado
Uso:
su
vim ~/.bash_history
O histórico não salva o comando se tiver um espaço na frente dele.
Isso depende da variável HISTCONTROL
. Por padrão (para root) é ignoredups:ignorespace
.
Como já mencionado, você pode usar um espaço antes de seu comando, mas isso depende da variável HISTCONTROL
. Aqui estão algumas alternativas -
Você pode realmente dizer ao terminal para parar e iniciar o histórico de gravação. Isso pode ser feito usando esses comandos -
set +o history #stop recording history
set -o history #start recording history
Se você já executou alguns comandos e esqueceu de parar de gravar ou usar espaço, ainda é possível impedir que ele seja gravado em .bash_history
, desde que a sessão ainda esteja aberta. Ele é gravado no arquivo quando você fecha a sessão do terminal. Assim, você pode excluir o histórico da sessão atual antes de fechar a sessão (antes de sair do su
no seu caso). Isso pode ser feito usando este comando -
history -c
Uma opção extrema seria matar o processo do terminal quando você terminar de executar todos os comandos. Você basicamente mata o processo antes que ele possa gravar o histórico no arquivo.
kill -9 $$
$$
fornecerá o ID do processo do terminal atual e kill -9
eliminará esse processo.