Mit der Bash History Suggest Box Shell-Befehle schneller finden

© silvae, 123RF

Shell-Perle

Erfahrene Linux-User wissen das Terminal zu schätzen, doch die integrierte History dürfte mehr Komfort bieten. Mit der Bash History Suggest Box bohren Sie die Bash-Suche kräftig auf.

README

Mit den Pfeiltasten lässt sich der Bash-Verlauf schnell durchstöbern. Allerdings erweisen sich die Suchfunktionen der Bash als eng begrenzt. Hier springt die clevere Bash History Suggest Box in die Bresche.

Angesichts seiner begrenzten Rechenpower kommt der Raspberry Pi oft als stromsparender Mini-Server ohne grafische Oberfläche und Bildschirm zum Einsatz. Der Zugriff erfolgt dann über ein Terminal und SSH. Hier kommt es oft vor, dass man zuvor eingegebene Befehle schnell wiederholen oder leicht abändern möchte. Dazu lässt sich die Bash-History ganz einfach mit [Pfeil-oben]/[Pfeil-unten] Befehl für Befehl Revue passieren und per [Pfeil-links]/[Pfeil-rechts] der Textcursor verschieben, um das gewählte Kommando anzupassen.

Sie können den Bash-Verlauf aber auch durchsuchen: Drücken Sie [Strg]+[R] und tippen dann munter drauflos, sucht die Shell sich automatisch das erste passende Ergebnis heraus. Wiederholen Sie [Strg]+[R], so springen Sie von Treffer zu Treffer – bis zum gesuchten Befehl. Die Bash merkt sich alle auf der Kommandozeile eingetippten Befehle in der Datei ~/.bash_history, die Sie bei Interesse beispielsweise mit dem Befehl history einsehen (Listing 1).

Listing 1

 

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

Zwar liefern die Bash-History und deren Suchfunktion schon sehr brauchbare Ergebnisse, doch es gibt durchaus noch Verbesserungspotenzial. Tippen Sie etwa zu oft auf [Strg]+[R] und schießen über das gewünschte Ziel hinaus, gibt es keinen Weg, sich im Verlauf wieder einen Schritt zurück zu begeben. Sie müssen die Suche dann mit [Strg]+[D] abbrechen und wieder ganz von vorne beginnen.

Als gewohnheitsmäßiger Konsolennutzer sollten Sie sich daher die Bash History Suggest Box [1] nicht entgehen lassen. Sie bringt bessere Übersicht in den gesammelten Bash-Verlauf und erlaubt eine komfortablere Suche (Abbildung 1), ohne dass Sie dabei die in Herz und Nieren übergegangenen Tastenkombinationen aufgeben müssen.

Abbildung 1: Mit der Bash History Suggest Box lässt sich der Shell-Verlauf bequem durchsuchen.

Installation

Die Bash History Suggest Box hat bislang noch nicht ihren Weg in die Repositories der gängigen Distributionen gefunden. Selbst so eine aktuelle Distribution wie Ubuntu 14.04 "Trusty Tahr" führt die Software noch nicht in den Paketquelle. Unter Raspbian oder Raspbmc bauen Sie das Programm am besten aus den Quellen einfach selbst (Listing 2) oder nutzen das vom Autor bereitgestellte Repository. Arch-Linux-Anwender finden die Bash History Suggest Box auf auf dem Raspberry Pi im AUR [2].

Listing 2

 

$ sudo apt-get install libncurses5-dev libreadline-dev
$ wget https://github.com/dvorka/hstr/releases/download/1.10/hh-1.10-src.tgz
$ tar xf hh-1.10-src.tgz
$ cd hstr
$ ./configure && make && sudo make install

Nach der Installation rufen Sie die Bash History Suggest Box mit hh auf. Wie gewohnt scrollen Sie mit [Pfeil-oben] und [Pfeil-unten] durch den Verlauf und übernehmen den aktuell ausgewählten Befehl per [Pfeil-links],[Pfeil-rechts] oder mittels der Tabulator-Taste. Alternativ binden Sie den Aufruf von hh direkt an die Tastenkombination [Strg]+[R], sodass die Suggest Box die Standardsuche der Bash ersetzt.

Die Befehle aus Listing 3 tragen die dafür notwendige Konfiguration mitsamt zusätzlichen Einstellungen für mehr Farbe und einen umfangreicheren Bash-Verlauf in die ~/.bashrc ein und veranlassen die Shell, ihre Konfiguration umgehend neu einzulesen. So müssen Sie sich nicht ab- und wieder anmelden, um die Suggest Box zu aktivieren.

Listing 3

 

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

Neue Suchfunktionen

Die Bash History Suggest Box stellt nicht nur den Verlauf besser dar, sondern ergänzt auch die Suche. Wie zuvor starten Sie diese mit [Strg]+[R] und geben einen Suchbegriff ein. Die Suggest Box filtert daraufhin automatisch alle den Begriff enthaltenden Kommandos aus dem Verlauf heraus (Abbildung 2) – seit der Version 1.12 erlaubt die Suggest Box auch reguläre Ausdrücke. Soll einer der Treffer gar nicht mehr im Verlauf erscheinen, löschen Sie ihn ganz einfach mit einem Druck auf [Entf]. Von Ihnen sehr häufig gebrauchte Befehle fügen Sie mit [Strg]+[F] zu Ihren Favoriten hinzu.

Abbildung 2: Die Suchergebnisse sind in der Standardeinstellung nach Häufigkeit sortiert.

In der Standardeinstellung sortiert die Suggest Box die Treffer nach der Häufigkeit. Je öfter Sie einen Befehl ausführen, desto weiter oben erscheint er in den Suchergebnissen. Mit [Strg]+[Umschalt]+[**7**] sortieren Sie die Ergebnisliste nach dem "Ranking" oder dem zeitlichen Verlauf ("History") um, oder aber Sie reduzieren die Auswahl auf Ihre zuvor abgespeicherten Favoriten. Mit [Strg]+[T] sagen Sie der Suggest Box, auf Unterschiede in der Groß-/Kleinschreibung der Befehle zu achten.

Nützlich ist auch die Möglichkeit, Kommandos von der Shell-History auszunehmen – etwa dann, wenn Befehle Logins und Passwörter enthalten, die nicht im Log der Bash erscheinen sollen. Die Suggest Box fügt dazu von Haus aus die Option HISTCONTROL=ignorespace in Ihre ~/.bashrc ein (Listing 4). Fügen Sie nun vor Ihr Kommando ein Leerzeichen ein, dann übernimmt die Bash den Befehl nicht in den Verlauf. Triviale Befehle wie ls, pwd oder cd lassen sich zudem mit HISTIGNORE komplett ignorieren.

Listing 4

 

export HISTCONTROL=ignorespace
export HISTIGNORE="pwd:ls:ls -l:cd"

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 3 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Raspberry Pi Geek kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Aktuelle Ausgabe

12/2019
RasPi-Alternativen

Diese Ausgabe als PDF kaufen

Preis € 9,99
(inkl. 19% MwSt.)

Stellenmarkt

Neuigkeiten

  • Grußbotschaften

    Mit Sonic Pi zaubern Sie komplexe Sounds, die Sie bei Bedarf sogar noch während des Abspielens modifizieren.

  • Das Runde und das Eckige

    Mit dem MCP4725 ergänzen Sie einen RasPi um einem D/A-Wandler, der bei Bedarf noch weitere Funktionen erfüllt.

  • Alles unter Kontrolle

    Schon ein einfaches Mikrocontrollerboard wie das CY8CKIT-049-42xx bietet erstaunlich viele Möglichkeiten beim Ansteuern von Hardware.

  • Viele Kerne

    Das Spresense Development Board von Sony lässt sich mit der Arduino IDE programmieren und bringt auch ein eigenes Entwickler-SDK mit.

  • Exotische Früchte

    Der aus China stammende Orange Pi positioniert sich mit einem guten Preis und interessanten Features gegen die RasPi-Truppe. Kann er sich auch behaupten?

  • Flexibler Surfer

    Mit dem neuen RasPi 4 setzen Sie einen öffentlichen Webkiosk schnell und kostengünstig auf.

  • Auskunftsfreudig

    Viele Devices, so auch der E.ON-Aura-Controller, verwenden eine Schnittstelle namens REST, um Zustandsdaten zu übermitteln. Mit ein wenig Bastelei lesen Sie diese auch über Ihr Smartphone aus.

  • Doppelt gemessen

    Mit wenig Aufwand und einem Pi Zero realisieren Sie einen mobilen Zweikanal-Spannungsprüfer.

  • Elegant zusammengeführt

    Tizonia streamt Musik von Online-Quellen und lokalen Sammlungen. Die schlanke Architektur macht den Player zur guten Wahl für den Einsatz auf dem RasPi.

  • Kommunikativ

    Nicht jeder traut sich zu, sein eigenes Smartphone zu bauen. Allerdings kann jeder Linux-Nutzer den Raspberry Pi im Handumdrehen zu einem VoIP-Telefon aufrüsten.