Wie kann ich die Historie im Terminal unter Mac OS X löschen (Pfeil nach oben-Taste)?
HINWEIS: Ab Big Sur wird die Historie aufgrund der anderen Shell auch anders gelöscht. Mehr dazu weiter unten.
Standardmäßig werden die im Terminal eingegebenen Befehle gespeichert, so dass man diese mit der Pfeil-nach-oben-Taste auch nach einem Neustart wieder nacheinander aus der Historie bzw. dem Cache holen und durch Drücken der Enter-Taste ausführen kann. Das ist in den meisten Fällen ganz praktisch, birgt aber auch Sicherheits- und Privatsphäre-Probleme.
Wer also die Historie im Mac OS X Terminal VOR BIG SUR löschen möchte, kann dies durch Eingabe der folgenden zwei Befehle erledigen (weiter unten wird erklärt, was diese Befehle bewirken):
history -c
gefolgt von
rm ~/.bash_history
Die Tilde (~) könnte Ihr übrigens durch Drücken von Alt+N erreichen.
Was bewirken die beiden Befehle?
Der erste Befehl (history -c) sorgt dafür, dass in der aktuellen Sitzung alle bisher eingegebenen Befehle gelöscht werden. Das Kommando „history“ ist in die bash (Bourne again shell) eingebaut, der Parameter „-c“ bedeutet „clear“.
Der zweite Befehl (rm ~/.bash_history) löscht die Datei aus dem Userverzeichnis (rm steht für „remove“), die die gesamte Historie enthält, also auch Eingaben, die vor der aktuellen Session getätigt wurden.
Eine quasi jungfräuliche Konsole erhaltet ihr dann übrigens noch, wenn ihr „clear“ eingebt. 🙂
Update „Big Sur“ und folgende:
Da Mac OS X ab Version Big Sur nun zsh statt bash als Standard-Shell nutzt, kann die Historie im Terminalfenster wie folgt gelöscht werden. Begeben Sie sich in Ihr User-Verzeichnis, indem Sie einfach nur „cd“ gefolgt von Enter eingeben. Geben Sie dann „rm .zsh_history“ ein. So weit, so gut – leider wird direkt eine neue History angelegt. Um dies zu vermeiden, verwenden Sie folgende Zeile, die dafür sorgt, dass das Terminal sofort beendet wird und somit keine neue History erzeugen kann:
rm -f ~/.zsh_history && kill -9 $$