Donnerstag, 20. November 2014

History vom Terminal löschen




Die History bzw. der Verlauf ist im Terminal zu sehen, wenn nach dem Öffnen des Terminals die Pfeil-nach-oben-Taste ↑ gedrückt wird.

Du möchtest den kompletten Verlauf der Befehle löschen um einfach mal aufzuräumen oder weil du z.B. ausversehen dein Passwort leserlich eingegeben hast?

Kein Problem. Mit folgendem Befehl ist das schnell erledigt:
history -c

Wer nicht gleich seine komplette History löschen will, sondern nur einen Befehl oder ein im Klartext eingegebenes Passwort, geht wie folgt vor.

Dateimanager öffnen:







Dann alle versteckten Ordner anzeigen lassen, durch die Tastenkombination Strg + H

Nun ist auch folgende Datei zu sehen, in der jeder Befehl gespeichert wird der jemals im Terminal eingegeben wurde:



Doppelklick auf die Datei, dann öffnet sich ein Fenster mit allen gespeicherten Befehlen. Lösche einfach den von dir gewünschten Befehl und speichere die Datei. Öffnest du das nächste Mal das Terminal, wird der von dir gelöschte Befehl nicht mehr angezeigt.


Hier mehr Infos: Bash und Erste Schritte in der Shell

Herzlichst

Emanuel

• • • • • • • • • • • • • • • • • • • • • • • •

Update, 20.11.2014 Danke an denjenigen, der anonym heute um 16:43h, eine noch einfachere Variante schrieb. Den ursprünglichen Blogeintrag habe ich gekürzt und angepasst. Ich liebe die Community. Danke.

Update, 21.11.2014 Verschiedene Kommentare schilderten das Problem dass das Wort welches mit sed -i '/beispiel/d' ~/.bash_history aus der History zwar gelöscht wird, aber es durch den Befehl trotzdem wieder als Wort in der History auftaucht. Darum habe ich mich entschlossen auch den zweiten Teil meines ursprünglichen Blogeintrags anzupassen.

• • • • • • • • • • • • • • • • • • • • • • • •

Das könnte dich auch interessieren:

➥ Metadaten von Bildern schnell und einfach löschen

➥ Kostenlose Linux Handbücher

➥ Anleitungen ★ Tutorials

• • • • • • • • • • • • • • • • • • • • • • • •

19 Kommentare:

  1. also ich hab das nich getestet, aber macht "history -c" nich genau das? zumindest gaukelt mir die bash-manpage das so vor, oder nich? ("Clear the history list by deleting all the entries.")

    AntwortenLöschen
    Antworten
    1. "history -c" führte bei mir zum Erfolg; wobei "rm ~/.bash_history" leider völlig erfolglos blieb.

      Löschen
    2. Hallo Anonym, danke für deinen Hinweis. Habe meinen Blogeintrag umgehend angepasst. So ist es noch einfacher und es gibt nicht das Risiko mit "rm" größeren Schaden anzurichten. Hab vielen Dank. Wenn du möchtest darfst übrigens gerne deinen Namen verraten. Immerhin bist du jetzt der Held des Tages. ;D

      Löschen
    3. Henric B, danke fürs testen.

      Der vorher von mir beschriebene Befehl "rm ~/.bash_history" funktionierte bei mir erst nachdem ich das Terminal geschlossen hatte und ein neues Terminal öffnete. Ich habe es mehrere Male ausprobiert. Einmal hatte ich es auch das die History trotzdem noch zu sehen war. So wie es scheinbar bei dir der Fall war.

      Mit "history -c" funktioniert das sofort und der Befehl ist noch einfacher.

      Ich freue mich über eure Kommentare. Vor allem dann, wenn die Wege die zum Ziel führen noch kürzer und einfacher werden. :-)

      Löschen
    4. "history -c" funktioniert nur temporär ... sobald die Bash neu gestartet wird, ist die History wieder verfügbar. Der Weg mit der Datei .bash_history ist dauerhaft und hat geholfen, aber ich musste den Dolphin als root ausführen ... zumindest war das bei mir so. Danke fürs lesen ;D

      Löschen
    5. einfach nach "history -c" noch ein "history -w" hinterher - somit steht auch beim nächsten öffnen des terminals nur noch "history -w" drin.

      Löschen
  2. Ich finde es nicht schön, dass du meinen Kommentar einfach gelöscht hast. Warum auch immer?

    AntwortenLöschen
    Antworten
    1. Hallo Anonym, ich würde mich freuen wenn du mich das nächste Mal fragst, ob ich deinen Kommentar überhaupt gelöscht habe, bevor du es mir unterstellst, auch wenn es dir vielleicht so vorkommt als ob ich es gewesen bin. :-)

      Ich habe keinen Kommentar gelöscht. Ich respektiere sogar, dass du dich hier anonym äußern darfst, was nicht bei jedem Blog selbstverständlich ist. Oft müssen sogar Email-Adressen angegeben werden um etwas kommentieren zu können. Das ist hier nicht der Fall.

      Ich weiß nicht wie es dazu kam dass dein Kommentar nicht angezeigt oder sogar scheinbar entfernt wurde. Probiere es bitte nochmal. Was hast du geschrieben?

      Löschen
    2. Ok, es hatte mir den Kommentar schon als geposted angezeigt. Aber halb so wild. Ich hatte geschrieben, dass wenn ich mit sed ein Wort aus der History löschen will der Befehl mit dem ich versuche zu löschen aber in der History steht, hat unten nochmals jemand geschrieben.

      Löschen
  3. Nur zur Info: Strg+r
    sucht einen Befehl in der History (mehrmaliges drücken von Strg+r geht weiter in der History zurück)

    http://suckup.de/linux/erste-schritte-in-der-shell/

    Mfg Lars

    AntwortenLöschen
    Antworten
    1. Hallo Lars, danke für die Info und deinem Link, den ich gerne weiterempfehle. Sehr gut beschrieben. Danke für deine Mühe. :-)

      Löschen
  4. Was passiert wohl, wenn man mittels des sed-Befehls ein im Klartext ein gegebenes PW löschen will.... Hmm..
    EIN TEUFELSKREIS!

    AntwortenLöschen
    Antworten
    1. Beginne das Kommando mit einem Leerzeichen und schon ist der Teufelskreis aufgebrochen. Eine Kommandozeile, die mit Leerzeichen beginnt, landet nicht in der History.

      Löschen
    2. Wo hast du den das her? Ein Leerzeichen vor dem Befehl verhindert das dieser in der Bash History landet? Also bei mir nicht (Linux Mint).

      Löschen
    3. dies kann via "HISTIGNORE" definiert werden ... z.B.: https://github.com/voku/dotfiles/blob/master/.exports

      Löschen
    4. Zu den Kommentaren von Johannes (21. November 2014 10:09) und Anonym (21. November 2014 10:00)

      Ich verstehe euer Anliegen und habe durch eure Kommentare meinen Blogeintrag angepasst und vereinfacht. Dadurch ist das Problem gelöst.

      Löschen
  5. Danke,
    dieser Beitrag ist zu 100% korrekt. Direkt beim ersten Versuch den Code-Verlauf gelöscht

    AntwortenLöschen
  6. Wenn man zuerst history -c ausführt, dann history -w, hat den Nachteil, dass nun history -w in der history steht.

    Um das zu verhindern, einfach so => history -c; history -w

    Alles weg. ;)

    AntwortenLöschen