und sensible Einträge entfernen
Die Bash speichert standardmäßig alle eingegebenen Befehle in der sogenannten History. Das ist praktisch – kann aber zum Problem werden, wenn dort sensible Daten landen (z. B. Passwörter, Tokens oder interne URLs).
Hier ein kompakter Überblick, wie man die History kontrolliert und gezielt bereinigt.
History anzeigen
Um sich die aktuelle History anzusehen:
history
Jeder Eintrag hat eine Nummer, über die er gezielt angesprochen werden kann.
Einzelne Einträge löschen
Wenn ein sensibler Befehl gespeichert wurde, kann er gezielt entfernt werden:
history -d 364
Löscht den Eintrag mit der Nummer 364 aus der aktuellen Session.
Damit die Änderung dauerhaft übernommen wird:
history -w
Mehrere oder alle Einträge löschen
Komplette History löschen:
history -c
history -w
Verhindern, dass Befehle gespeichert werden
Es gibt mehrere Möglichkeiten, sensible Befehle gar nicht erst zu speichern:
Führendes Leerzeichen nutzen
Wenn folgende Variable gesetzt ist:
export HISTCONTROL=ignorespace
Dann werden Befehle, die mit einem Leerzeichen beginnen, nicht gespeichert:
ls -la # wird gespeichert
secret_command --token=abc123 # wird NICHT gespeichert
Bestimmte Muster ausschließen
export HISTIGNORE="*password*:*token*"
Alle Befehle, die diese Muster enthalten, werden ignoriert.
History temporär deaktivieren
set +o history # deaktivieren
set -o history # wieder aktivieren
Weitere Hinweise
- Änderungen gelten oft nur für die aktuelle Session, wenn sie nicht in
~/.bashrcoder~/.bash_profilegespeichert werden. - Bereits geschriebene Einträge in
~/.bash_historybleiben bestehen, bis sie aktiv entfernt werden. - In Multi-Session-Umgebungen kann es zu Überschreibungen kommen – besonders bei parallelen Shells.