
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.












Hallo Christoph,
ich Glaube hh –show-configuration >> ~/.bashrc ist der falsche Befehl.
Müßte es nicht: hh –show-configuration >> ~/.bash_history oder bei Benutzung der ZSH: hh –show-configuration >> ~/.zsh_history sein?
Wiedermal ein sehr Guter Tip von dir.
Linu74
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.
Mein Fehler. Sorry, hast Recht.
Linu74
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
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
Seit gestern gibt es eine Version für Ubuntu 12.04 (PPA):
https://launchpad.net/~ultradvorka/+archive/ppa/+packages
Viele Grüße
Frank
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
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.
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
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 🙂
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
Ohne zusätzliche Software und auch überall geht:
Wenn man sich die Nummer merkt, kann man die auch immer wieder benutzen.
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.
Danke für den Artikel, das Tool ist Gold wert. Übrigens der richtige Befehl zum hinzufügen zu der Bash lautet:
Hallo Tobias, das wäre doppelt gemoppelt…
Es reicht entweder einer von beiden Schaltern.
das AUR meldet mittlerweile
no results found for hh
Schau mal https://github.com/dvorka/hstr
Das Paket heißt jetzt woh hstr-bin
Linu74