Wenn ich einen Befehl in das Terminal eingebe, wird er erst in meiner ~/.bash_history
Datei angezeigt, wenn ich meine Sitzung beende.
Wenn ich meine ~/.bash_history
Datei manuell bearbeite (zum Beispiel entferne ich die letzten drei Befehle), werden beim Eingeben history
weiterhin die Befehle angezeigt, die ich aus der ~/.bash_history
Datei entfernt habe. Erst wenn ich meine Sitzung beende und mich erneut anmelde, verschwinden sie.
Wie werden meine ~/.bash_history
Datei und der history
Befehl synchronisiert?
command-line
bash
bash-history
sys0dm1n
quelle
quelle
Antworten:
Wenn Sie ein Bash-Terminal öffnen, wird der Inhalt
~/.bash_history
der aktiven Shell geladen und der Verlauf der aktiven Shell (im RAM) erstellt. Dabei wird jeder in dieser Shell ausgeführte Befehl hinzugefügt - und nur dazu, nicht zur Datei.Nur wenn Sie ein Bash-Terminal schließen, wird sein Verlauf an Ihre
~/.bash_history
Datei angehängt .Optionen von
history
:Optionen für die
~/.bashrc
DateiWenn Sie dieses Verhalten so ändern möchten, dass der temporäre Verlauf
~/.bash_history
direkt nach der Ausführung eines Befehls gespeichert wird , fügen Sie die folgende Zeile hinzu:Wenn Sie außerdem möchten, dass jedes Terminal die
~/.bash_history
Datei nach jeder Befehlsausführung automatisch lädt , fügen Sie stattdessen diese Zeile hinzu:Wenn Sie bestimmte Befehle (z. B. alles, was mit
sudo
und beginntcat
) vom Speichern ausschließen möchten , fügen Sie diese Zeile hinzu:quelle