Die Suche in der Bash History mit der BASH History Suggest Box aufbohren

Avatar von Christoph Langner

2 Min. Lesezeit

31 Aufrufe

Wer viel im Terminal arbeitet, möchte oft Befehle erneut ausführen oder leicht abwandeln. Die Bash-History erlaubt das einfache Durchscrollen früherer Kommandos mit den Tasten Hoch/Runter. Mit Links/Rechts lässt sich der Cursor im aktuellen Befehl bewegen, um Änderungen vorzunehmen. Noch schneller geht’s mit der eingebauten Suchfunktion: Strg+R startet eine Rückwärtssuche in der History, während ein erneutes…

Shell History Suggest Box

Wer viel im Terminal arbeitet, möchte oft Befehle erneut ausführen oder leicht abwandeln. Die Bash-History erlaubt das einfache Durchscrollen früherer Kommandos mit den Tasten Hoch/Runter. Mit Links/Rechts lässt sich der Cursor im aktuellen Befehl bewegen, um Änderungen vorzunehmen. Noch schneller geht’s mit der eingebauten Suchfunktion: Strg+R startet eine Rückwärtssuche in der History, während ein erneutes Drücken von Strg+R zum nächsten Treffer springt. Die Einträge landen in der Datei ~/.bash_history und lassen sich auch manuell anzeigen:

$ history
   1  locate terminal | grep svg
   2  xdg-mime query default inode/directory
   3  joe /etc/gnome/defaults.list
   4  ...

Die Bash-History ist praktisch, aber es geht noch komfortabler: Die Z-Shell (zsh, Wikipedia) bietet beispielsweise eine deutlich leistungsfähigere Verlaufssuche. Marcel von zInformatik oder Kushellig haben ihre Vorteile gut beschrieben. Da die meisten jedoch mit der Bash unterwegs sind, lohnt ein Blick auf die BASH History Suggest Box.

### BASH History Suggest Box unter Ubuntu installieren
$ sudo add-apt-repository ppa:ultradvorka/ppa
$ sudo apt-get update
$ sudo apt-get install hh
# BASH History Suggest Box unter Arch Linux installieren
$ pacaur -S hh

Die Installation ist schnell erledigt. Für Ubuntu stellt der Entwickler ein eigenes PPA bereit. Arch-Nutzer greifen wie gewohnt zum AUR. Für andere Distributionen wie Debian oder Linux Mint gibt es Hinweise auf der verlinkten Projektseite auf GitHub. Nach der Installation startet das Tool mit dem Befehl hh. Sinnvoller ist es jedoch, die Integration direkt in der Bash zu verankern:

$ hh --show-configuration >> ~/.bashrc

Dieser Befehl ergänzt die ~/.bashrc um die Konfiguration der Suggest Box. Danach ersetzt Strg+R die klassische Verlaufssuche durch die neue Oberfläche. Im Gegensatz zur normalen Bash-History zeigt die Suggest Box eine Liste aller letzten Befehle auf einmal an.

In der Übersicht navigiert ihr mit Hoch/Runter durch die Liste. Mit Links/Rechts oder Tabulator wird der markierte Eintrag übernommen und kann direkt bearbeitet werden. Beim Tippen filtert die Suggest Box die Liste dynamisch. Auch diese lässt sich dann weiter durchblättern. Wer einzelne Befehle dauerhaft aus der History entfernen möchte, drückt einfach Entf.

Ähnliche Beiträge

17 Kommentare zu „Die Suche in der Bash History mit der BASH History Suggest Box aufbohren“

  1. Avatar von Linu74

    Hallo Christoph,
    ich Glaube hh –show-configuration >> ~/.bashrc ist der falsche Befehl.
    Müßte es nicht: hh –show-configuration >> ~/.bashhistory oder bei Benutzung der ZSH: hh –show-configuration >> ~/.zshhistory sein?

    Wiedermal ein sehr Guter Tip von dir.

    Linu74

    1. Avatar von Christoph

      Ne, in der ~/.bash_history steht ja die History selber. Die Konfiguration von hh soll aber in die Bash selber, also in die .bashrc oder ~/.zshrc. Grüße, Christoph.

  2. Avatar von Linu74

    Mein Fehler. Sorry, hast Recht.

    Linu74

  3. Avatar von perdu

    Hallo Christoph,
    Der Tip ist nett, jedoch muss man bei Ubuntu 12.04 und älteren Versionen etwas tricksen per apt-pinning, da nur die Versionen ab 12.10 unterstützt werden.

    Gruss

    Perdu

    1. Avatar von Frank

      Hallo perdu,

      bei älteren Ubuntu-Versionen probiere einfach die Debian-Version der Suggest Box. Unter Ubuntu oder Mint muss man dann den Befehl

      hh –show-configuration >> ~/.bashrc

      noch manuell eingeben.

      Unter Debian sollte sich ~/.bashrc (außer bei root) bei der Installation automatisch aktualisierten.

      Viele Grüße
      Frank

  4. Avatar von Frank

    Seit gestern gibt es eine Version für Ubuntu 12.04 (PPA):

    https://launchpad.net/~ultradvorka/+archive/ppa/+packages

    Viele Grüße
    Frank

  5. Avatar von Kriev

    Ich muss schon sagen… Lieber installiere ich mir die z-shell aus den offiziellen repos als das ich eine Fremdquelle als potentielle Gefahr miteinbinde! Dies sollte meiner Meinung nach auch erwähnt werden. Es gab mal einen Test wie man einfach über ein ppa Files auf fremden Rechnern ändern kann. Ich habe jetzt grade keinen Link parat, aber in diesem Test wurde einfach das Hintergrundbild geändert mit dem Hinweis wie gefährlich ein ppa sein kann.

    Und ganz nebenbei besitzt die z-shell auch einige gute/bessere Funktionen die ich nicht mehr missen möchte.

    Cheers,
    – Kriev

    1. Avatar von Christoph

      Ich meine damals auch etwas darüber geschrieben zu haben, finde den Beitrag aber nicht mehr. Generell gilt dein Einwand für jede Software die du an den offiziellen Repos deiner Software vorbei installiert. Egal ob nun PPAs bei Ubuntu, zusätzlichen Einträgen in die sources.list bei Debian, oder Software aus dem AUR bei Arch. Installierst du eine Software mit Root-Rechten… was ja bei Software aus Paketquellen geschieht — dann kann diese jede Datei im System verändern. Du kannst dir aber auch den Quellcode holen und diesen bauen… auch kein Problem. Aber spätestens beim „make install“ musst du dem Entwickler wieder vertrauen, da für einfach kein Weg dran vorbei — außer du studierst jede Zeile Quellcode, die du dir auf den Rechner schaufelst.

      1. Avatar von Kriev

        Das ist so, klar. Trotz alledem wäre es nicht schlecht wenn du jeweils einen kleinen Hinweis, eine Hinweisbox oder sonst was anbringen könntest. Viele Neulinge packen n ppa’s in ihr System und wundern sich dann wieso nichts mehr funktioniert. Eine Warnung wäre wünschenswert, nicht für mich aber für andere die sich noch nicht so gross mit der Paketverwaltung auseinander gesetzt haben.

        Sieh es als kleinen Tipp 😉

        Cheers,
        – Kriev

        1. Avatar von Christoph

          Wenn ich im Blog PPAs nenne, dann eigentlich nur solche die von den Entwicklern der Software bereitgestellt werden und auch *nur* das Programm und sonst nicht verfügbare Komponenten oder Bibliotheken enthalten — ansonsten erwähne ich das im Beitrag deutlich. Diese sind im Alltag nicht problematisch, da sie keine vorhandenen Pakete austauschen, sondern nur zusätzliche installieren, was aus meiner Erfahrung heraus gut funktioniert. Wenn ich einer Software traue auf meinem Computer zu laufen, dann muss ich in meinen Augen auch dem Setup trauen — sonst sollte ich die Software gleich ganz weglassen. Ein PPA-Disclaimer wie im Ubuntuusers-Wiki befreit weder mich, noch den Leser von der Verantwortung selber nachzudenken 🙂

        2. Avatar von Kriev

          Ein PPA-Disclaimer wie im Ubuntuusers-Wiki befreit weder mich, noch den Leser von der Verantwortung selber nachzudenken

          Klar, aber es ist ein wichtiger Hinweis. Und wie gesagt, für Neulinge in dem Bereich eventuell doch wichtig. Wie ich am Ende meines letzten Kommentares erwähnt habe, es ist ein Tipp 😉

          Cheers,
          – Kriev

  6. Avatar von Adminosaurus Rex

    Ohne zusätzliche Software und auch überall geht:

    root@ubuntu:/# history
    ...
    649 ps facx
    650 htop
    651 df -h

    root@ubuntu:/# !651
    ....

    Wenn man sich die Nummer merkt, kann man die auch immer wieder benutzen.

    1. Avatar von Christoph

      Schön und gut, ich will aber nicht x-tausend Einträge durchforsten müssen. Das geniale an hh ist bspw. das ausgeführte Befehle nach ihrer Häufigkeit sortiert werden. Führe ich bspw. einmal ein apt-get install foobar aus, dann rufe ich trotzdem mit [Strg]+[R][A][P][T] umgehend danach ein „sudo apt-get update && sudo apt-get dist-upgrade“ auf.

  7. Avatar von Tobias Braumann
    Tobias Braumann

    Danke für den Artikel, das Tool ist Gold wert. Übrigens der richtige Befehl zum hinzufügen zu der Bash lautet:


    $ hh --show-configuration -s >> ~/.bashrc

    1. Avatar von Christoph

      Hallo Tobias, das wäre doppelt gemoppelt…

      $man hh
      ...
      -s --show-configuration
      Show configuration that can be added to ~/.bashrc
      ...

      Es reicht entweder einer von beiden Schaltern.

  8. Avatar von produnis

    das AUR meldet mittlerweile

    no results found for hh

    1. Avatar von Linu74

      Schau mal https://github.com/dvorka/hstr

      Das Paket heißt jetzt woh hstr-bin

      Linu74

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Markdown wird unterstützt: **fett**, _kursiv_, [Linktext](URL), `Code`, Zeilen mit - für Listen, 1. für nummerierte Listen, dreifache Backticks für Codeblöcke.

Über den Blog

Seit 2006 probiere ich hier aus, was Linux, freie Software und die passende Hardware so hergeben – von Distributions-Tests bis zum Raspberry-Pi-Projekt. Praxisnah statt bloßem Nachrichtenticker.

Zuletzt auf Mastodon

Scene Composer in Aktion: Ein Screenshot wird geladen, in verschiedene 3D-Szenen wie Café, Gaming-Desktop, Homeoffice und Podcast-Studio eingesetzt, gedreht und gezoomt. Anschließend wird eine Vorschau gerendert.

Ich finde Screenshots als Aufmacher oft langweilig. In der Vergangenheit habe ich daher oft den Bildschirm im wahrsten Sinne des Wortes abfotografiert. Das bringt etwas Leben in die Artikel –…

Kategorien

Blog unterstützen

Gefällt dir, was du hier liest? Mit einer kleinen Spende hilfst du, Hosting und neue Testgeräte zu finanzieren – und sorgst nebenbei für den nötigen Kaffee.

Linux und Ich — Die Suche in der Bash History mit der BASH History Suggest Box aufbohren
https://linuxundich.de/gnu-linux/bash-history-suggest-box/ — gedruckt am 24. September 2026