Entfernte Zeilen in .bash_history werden weiterhin im Protokollbefehl aufgeführt. Wie lade ich die Änderungen?

271
angelcool.net

Ich habe Befehlszeilen in meiner .bash_history entfernt. Das Problem ist, dass die gelöschten Befehle immer noch aufgelistet werden, wenn ich den history- Befehl ausführt .

Wie lade ich die Änderungen?

Ich habe Source .bashrc und Source .bash_profile ohne Erfolg ausprobiert.

Ich versuche, den Bash jeweils Schritt für Schritt zu meistern. Entschuldigung, wenn nicht eine gute Frage.

2

1 Antwort auf die Frage

2
davidgo

Wenn Sie mit dem Bearbeiten von .bash_history fertig sind, müssen Sie die Bash-Sitzung erneut starten. Abhängig davon, ob alles, was Sie zu verbergen / entfernen versuchen, in dieser oder einer früheren Sitzung ausgeführt wurde, müssen Sie möglicherweise auch diese entfernen.

Meines Wissens ist es so, dass BASH seine Historie speichert und beim Beenden auf die Festplatte schreibt. Daher müssen Sie bash so beenden, dass der Verlauf nicht aus dem Speicher zurück auf die Festplatte geschrieben wird. Um dies auszuführen, geben Sie den Befehl "kill $$" in der Befehlszeile ein, der BASH mitteilt, den aktuellen Prozess zu beenden, der sich selbst befindet! Dadurch wird das Schreiben der Protokolldatei auf die Festplatte umgangen.

Vielen Dank! Es funktioniert jetzt wie erwartet. Das einzige kleine Detail ist, dass ich "kill -9 $$" verwendet habe angelcool.net vor 8 Jahren 1