Mit der Bash History Suggest Box Shell-Befehle schneller finden

Aus LinuxUser 06/2014

Mit der Bash History Suggest Box Shell-Befehle schneller finden

© lightwise, 123RF

Ausgesucht

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.

Bei der Arbeit im Terminal will man oft zuvor eingegebene Befehle schnell wiederholen oder leicht abändern. 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.

Der Bash-Verlauf lässt sich 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.

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 Ubuntu 14.04 “Trusty Tahr” führt die Software noch nicht in den Paketquellen, doch hier lässt sie sich bequem aus einem vom Entwickler betriebenen PPA einrichten (Listing 2).

Listing 2

$ sudo add-apt-repository ppa:ultradvorka/ppa
$ sudo apt-get update
$ sudo apt-get install hh

Arch-Linux-Anwender finden die Bash History Suggest Box im AUR [2], für Debian “Wheezy” und Linux Mint 13 empfiehlt der Programmautor auf der Homepage eine zusätzliche Paketquelle. Allerdings lässt sich die Suggest Box aus den Quellen auch sehr einfach selbst bauen (Listing 3).

Listing 3

$ 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 4 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 4

$ 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). 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.

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 5). 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 5

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

Fazit

Gegenüber der Standardsuche der Bash bietet die Bash History Suggest Box zahlreiche Vorteil – allen vorweg, dass Sie nun auch in den Suchergebnissen blättern können. So lässt sich ein Befehl schnell wieder aus dem Verlauf hervorholen und umschreiben. Als besonders praktisch erweist sich die Sortierung der Suchergebnisse nach Eingabehäufigkeit: So finden Sie die von Ihnen am häufigsten gebrauchten Kommandos immer ganz oben. 

Infos

[1] Bash History Suggest Box: https://github.com/dvorka/hstr

[2] Hh im AUR: https://aur.archlinux.org/packages/hh/

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 06/2014 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben