Linux: Eintrag aus der HISTORY entfernen
Problem:
Man hat aus versehen eine kritische Zeile eingegeben, die man aber auf dem System nicht in der histrory belassen möchte.
Lösung:
Anzeige der history:
user1@lubuntu:~$ history
Dann sieht man die Einträge mit Zeilennummern:
1 sudo apt-search virtualbox
2 sudo apt-get update
3 vim
4 sudo apt-get install vim
5 vi /etc/environment
6 sudo vi /etc/environment
7 kritischer Befehl mit geheimnis 56213824
Um dann die Zeile 7 zu entfernen und den Rest zu behalten, verwendet man den Befehl
history -d 7
und danach noch
history -w
Damit ist die Zeile gelöscht und mit dem zweiten Befehl wird der Vorgang endgültig gemacht. Alternativ kann man auch ‚history -d 7 -w‘ in einer Zeile eingeben.
Um die history ganz zu löschen, gibt man 'history -c -w'
Will man verhindern, dass wichtige Zeilen in die History aufgenommen werden, kann man einstellen, dass alle Befehle, die mit einem Leerzeichen anfangen nicht eingetragen werden. Man sollte sich dann nur noch angewöhnen kritische Befehle mit einem Leerzeichen einzuleiten.
Befehl: export HISTCONTROL=ignorespace
user1@lubuntu:~$ export HISTCONTROL=ignorespace
user1@lubuntu:~$ echo ‚Test‘
Test
user1@lubuntu:~$ history
1 history
2 export HISTCONTROL=ignorespace
3 echo ‚Test‘
4 history
user1@lubuntu:~$ echo ‚Test‘
Test
user1@lubuntu:~$ history
1 history
2 export HISTCONTROL=ignorespace
3 echo ‚Test‘
4 history
5 history
Achtung: Vor dem zweiten echo ‚Test‘ Befehl ist ein extra Leerzeichen!
Daher taucht das zweite „echo ‚Test‘ nicht in der History auf.