Aus EasyLinux 07/2017

Shell-Sitzungen beschleunigen

© lucadp, 123rf

Mehr Umdrehungen

Im Guru-Training und in den Linux-Tipps geben wir regelmäßig Hilfestellung zum Arbeiten auf der Shell – Zeit, das Wissen einmal zu vertiefen und mehr über die Bash selbst zu lernen. Wir zeigen, wie Sie die Kommandozeile effizienter nutzen.

Die Bash vermittelt als Kommandozeileninterpreter zwischen Ihnen und dem Linux-System. Im Klartext heißt das: Sie geben einen Befehl am Prompt ein, und die Bash interpretiert das Kommando und gibt den Auftrag weiter. Darüber hinaus wertet die Shell auch Platzhalter und Variablen aus, steht also als „Übersetzer“ hilfreich zur Seite.

Viele Kommandozeilenprofis schätzen an der Shell vor allem, dass sie Befehle miteinander kombinieren und Programmausgaben umleiten können. So schauen Sie eine lange Meldungsflut beispielsweise in Betrachtern wie less seitenweise an. Ebenso ist es möglich, ganze Ausgaben durch eine einfache Umleitung in einer anderen Datei zu speichern.

Mit welchen Tricks und Kniffen Sie auf der Bash leichter und effizienter arbeiten, zeigen wir in diesem Artikel. Dabei geht es zunächst um vergangene Kommandos und das Durchforsten der Bash-History. Danach stellen wir Tastaturkombinationen vor, mit denen Sie Tipparbeit sparen. Zu guter Letzt erfahren Sie, wie Sie Programmausgaben umleiten und Befehle miteinander verketten.

Vergangenes

Praktischerweise „merkt“ sich die Bash, welche Befehle Sie zuletzt am Prompt eingegeben haben. Drücken Sie beispielsweise [Pfeil hoch]+, gehen Sie in dieser „History“ (wörtlich: Geschichte) zurück, und der zuletzt getippte Befehl erscheint am Prompt. Drücken Sie mehrmals [Pfeil hoch]+, wandern Sie weiter zurück; entsprechend gehen Sie mit [Pfeil runter] wieder nach vorne. Ertönt ein Piepton, haben Sie das Ende der Liste erreicht. Wie lang die History ist, erfahren Sie auf der Kommandozeile, indem Sie den Inhalt der Umgebungsvariable HISTSIZE mit echo anzeigen:

$ echo $HISTSIZE
1000

Die Ausgabe verrät: Insgesamt 1000 Einträge können Sie speichern. Wem die Liste nicht lang genug ist, kann durch Neudefinieren der Umgebungsvariable HISTSIZE mehr Platz für die History schaffen. Das geht wie folgt:

  1. Öffnen Sie mit einem Editor die Datei .bashrc in Ihrem Home-Verzeichnis, z. B. über KDEs Schnellstarter [Alt]+[F2] und Eingabe von
    kwrite ~/.bashrc
    

    (Unter Kubuntu ist kwrite nicht installiert; dort verwenden Sie stattdessen kate.)

  2. Springen Sie ans Dateiende und fügen Sie eine neue Zeile ein: Um die History auf 2000 Einträge zu vergrößern, lautet der Eintrag
    export HISTSIZE=2000
    
  3. Speichern Sie die Änderung mit Datei / Speichern und verlassen Sie den Editor.
  4. Damit die Änderungen greifen, melden Sie sich ab und wieder an.

In welcher Datei die Bash ihre History ablegt, erfahren Sie ebenfalls auf der Kommandozeile:

$ echo $HISTFILE
/home/huhn/.bash_history

Die Bash-History liegt also in der versteckten Datei .bash_history im eigenen Home-Verzeichnis – dass diese versteckt ist, erkennen Sie daran, dass der Dateiname mit einem Punkt anfängt. Wenn Sie die Datei in einem Text-Editor öffnen, sehen Sie die zuletzt ausgeführten Kommandos.

Gesucht, gefunden

Um einen Befehl in der History wiederzufinden, müssen Sie allerdings nicht dauernd hoch- und runterblättern: Die Bash bietet eine eingebaute Suchfunktion. Anstatt so lange [Pfeil hoch]+ und [Pfeil runter] zu drücken, bis das gesuchte Kommando auftaucht, rufen Sie über [Strg]+[R] die Befehlssuche auf. Der Prompt verändert sich und wird zu

(reverse-i-search)`':

Am Doppelpunkt beginnen Sie nun, das gesuchte Kommando einzugeben. Dabei vervollständigt die Shell das Kommando automatisch. Um beispielsweise nach dem letzten scp-Befehl zu suchen, geben Sie nur die ersten zwei Buchstaben (sc) ein – schon hat die Bash ein Kommando aufgespürt und zeigt den kompletten Befehl an (Abbildung 1). Sie müssen hier nicht zwingend mit den ersten Buchstaben des Kommandos anfangen; auch mit Teilstücken aus der Mitte des Befehls funktioniert die Suche problemlos.

Abbildung 1: Mit <span class="key-combo">[Strg]+[R]</span> durchsuchen Sie die Shell-History und sp&uuml;ren vergangene Befehle auf.
Abbildung 1: Mit [Strg]+[R] durchsuchen Sie die Shell-History und spüren vergangene Befehle auf.

Um den ersten gefundenen Befehl direkt auszuführen, drücken Sie [Eingabe]+; alternativ wählen Sie [Esc], wenn Sie das Kommando noch verändern möchten. Der Befehl erscheint dann wie frisch eingetippt am Prompt, und Sie können ihn verändern oder ergänzen. Ist der angezeigte Befehl hingegen noch nicht der richtige Treffer, suchen Sie weiter: Drücken Sie so lange erneut [Strg]+[R], bis der richtige Befehl auftaucht.

Besser tippen

Neben der Kombination [Strg]+[R] für das Stöbern in der History hat die Bash noch einige weitere praktische Tastenkombinationen zu bieten, die das Kommandozeilenleben leichter machen. In ein paar Fingerübungen zeigen wir jetzt, wie Sie die Tipparbeit verringern können. Die Tabelle Tastaturfunktionen in der Bash enthält darüber hinaus die wichtigsten Kombinationen.

Dass Sie mit [Pfeil hoch]+ und [Pfeil runter] in der History blättern, wissen Sie schon. Ebenso verwenden Sie die anderen beiden Pfeiltasten, um nach rechts oder links in der Befehlseingabe zu wandern. Da die Entfernung zwischen dem ersten und dem letzten Zeichen – gerade bei langen Kommandos – ziemlich groß ist, bietet die Bash Abkürzungen, um an den Anfang ([Strg]+[A]) oder ans Ende ([Strg]+[E]) der Eingabezeile zu springen. Es geht auch wortweise nach links ([Alt]+[B], „B“ wie back: zurück) oder rechts ([Alt]+[F], „F“ wie forward: vorwärts); genauso sollten [Strg]+[Pfeil links] und [Strg]+[Pfeil rechts] funktionieren.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
KAUFEN
EasyLinux 07/2017 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: