Terminal Akrobatik

Im Laufe der Zeit schnappt man hier und da ja immer mal wieder neue Tricks und Kniffe im Umgang mit der Kommandozeile auf. Einige Kommandos oder Tastenkombinationen sind (zumindest bei mir) wahre Eintagsfliegen und nur gefühlt alle 100 Jahre mal im Einsatz. Für andere hingegen könnte ich einen persönlichen Walk of Fame errichten, als so unverzichtbar haben sie sich mittlerweile in meiner täglichen Nutzung erwiesen. Im folgenden Beitrag möchte ich euch diesen kleinen prominenten Kreis einmal vorstellen.

strg + r (reverse search)

Die Bash-Historie kann recht schnell stark anwachsen, sodass plumpes durchscrollen der einzelnen Befehle mit der Pfeiltaste (↑) mühsam, bis unbrauchbar wird. Abhilfe schafft hier die umgekehrte Suche. Drückt und haltet dazu die Strg-Taste und anschließend R:

Der Eingabeprompt ändert sich und ein Suchbegriff kann eingegeben werden. Mit einem weiteren Druck auf “Strg + R” wird in der Historie nach dem eingegebenen Begriff gesucht. Ist der richtige Befehl gefunden, kann dieser mit “Enter” erneut ausgeführt werden. In die Shell zur vorherigen Bearbeitung lässt er sich z.B. mit den Pfeiltasten ← oder holen.
Die Suche geht mit “Strg + S” auch in die andere Richtung. Sollte diese Tastenkombi nicht funktionieren, ist sie möglicherweise bereits für die sogenannte “Flow Control” reserviert. Gebt folgendes in eure Shell ein um sie zu deaktivieren:

stty -ixon

Anschließend lässt sich sie Historie vorwärts sowie rückwärts absuchen.

strg + u / strg + k (Text vor und hinter dem Cursor ausschneiden)

Sehr lange Befehle anzupassen macht mit “Backspace” bzw. “entf” weniger Spaß. Was schafft hier Abhilfe? Die Antwort lautet:

Strg + K = Entfernt alles Geschreibsel vor dem Cursor
Strg + U = Entfernt alles Geschreibsel hinter dem Cursor

Strg + K und plopp
Alles vor dem Cursor ist finito
Strg + U schnappt sich alles hinter dem Cursor

Und als Bonus gibt es noch die Tastenkombination “Strg + Y”. Mit ihr lassen sich die entfernten Einträge wieder einfügen.

Strg + Y fügt alles zuvor weggezogene wieder ein

(<- blankspace vor Kommando, keinen Eintrag in der .bash_history erzeugen)

Soll eine Eintragung in der ~/.bash_history vermieden werden, lässt sich dies ganz einfach mit einer höheren Einrückung bewerkstelligen:

Im oberen Beispiel sieht man zweimal den echo Befehl, einmal ganz gewöhnlich und einmal mit eingerückter Leertaste. Gehen wir nun in die ~/.bash_history und wir sehen …

… dass unser zweiter echo-Befehl seinen Weg nicht hierhin gefunden hat.

tee (Ausgabenumleitung)

Nicht das Getränk aber das Kommando erlaubt es uns, Ausgaben umzuleiten. Patscht einfach mit der Pipe das “tee”-Kommando an den Befehl und gebt den Ort an, wo das ganze hingeschrieben werden soll:

# (Befehl unbenutzt in die Bash-History ablegen)

Öfters möchte ich mir einen Befehl in die Bash-Historie zwischenspeichern ohne ihn auszuführen, um ihn hinterher wieder in die Konsole zu holen und zu bearbeiten bzw. tatsächlich auszuführen. Ein Kniff hierfür ist die vorangestellte Raute (#).

Der Befehl wird nicht ausgeführt, lässt sich aber mit der Pfeiltaste (↑) zurückholen.

!! (letztes Kommando erneut ausführen)

Zum Abschluß zwar kein super hilfreicher Befehl, aber interessant genug, um ihn in diese Auflistung mitaufnehmen zu können.
Das doppelte Ausrufezeichen (!!) führt das zuletzt eingegebene Kommando erneut aus.

Es lassen sich außerdem beliebige Kommandos, Zeichen und Parameter vorne und hinten daran ansetzen. Folgendes Beispiel soll dies einmal verdeutlichen:

Wie man sieht, wurde unser zuvor eingegebener und durch !! wiederverwendeter Befehl wurde mit dem vorangestellten “sudo” ergänzt und erzeugt die entsprechende Ausgabe.

Bild von OpenClipart-Vectors auf Pixabay

Kommentar verfassen

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

Nach oben scrollen