Durchsuchen der Bash-History

Bei der Nutzung der Bourne-again shell, kurz Bash, wird über die eingegebenen Kommandos Buch geführt. Dies ermöglicht es auf Befehle zurückzugreifen, welche bereits eingeben wurde. Auf die History kann mit den Cursor-Tasten Hoch und Runter zugegriffen werden.

Diese Vorgehensweise ist natürlich nur solange praktisch, wenn der gesuchte Befehl in letzter Zeit eingegeben wurde. Gespeichert wird die History im Home-Verzeichnis des jeweiligen Nutzers in einer Datei mit dem Namen .bash_history. Nun könnte der geneigte Nutzer auf die Idee kommen diese Datei einfach nach dem gesuchten Befehl zu durchforsten:

cat .bash_history | grep "befehl123"

Einfacher ist es allerdings auf die eingebaute Suchfunktion der Bash zurückzugreifen. Aktiviert wird diese mittels der Tastenkombination Strg + R. Danach kann der Suchbegriff eingeben werden und dem Nutzer werden Vorschläge aus der Bash-History angezeigt. Sagt einer dieser Vorschläge zu, kann er mit einem Druck auf die Enter-Taste bestätigt werden. Abgebrochen werden kann die Suche mittels der Tastenkombination Strg + C.

5 Kommentare » Schreibe einen Kommentar

  1. Oder Anfangsbuchstaben eingeben und flexibel durchsuchen.

    nano /etc/inputrc

    ## Intelligente Befehlshistory-Suche

    „\e[A“:history-search-backward
    „\e[B“:history-search-forward
    „\e[C“:forward-char
    „\e[D“:backward-char

  2. Da Heute ja genug Speicherplatz vorhanden ist, sollte man gleich noch die Anzahl an Einträgen erhöhen mittels folgender Zeilen in der .bashrc:

    —-
    # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
    HISTSIZE=20000

    # don’t put duplicate lines or lines starting with space in the history.
    HISTCONTROL=ignoreboth

    —-

    Dies erlaubt es dann auch auf sehr sehr alte Befehle zurückzugreifen. Kleiner Privacy Tipp, durch die zweite Konfiguration kann mittels voranstellen eines Leerzeichen der Eintrag in die Historie umgangen werden, sehr hilfreich wenn man ein Passwort übermitteln muss.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.