3.10 Befehle auf der Kommandozeile wiederholen und ändern

Alles, was Sie hinter einem Shell-Prompt eingeben, ist in irgendeiner Form Teil eines Kommandos. Die bei Debian GNU/Linux standardmäßig genutzte Shell (bash) hat verschiedene Funktionen, um das Eingeben und nachträgliche Ändern von Befehlszeilen zu erleichtern.

Sie können bereits eingegebene Kommandos wiederholen oder leicht verändern, um sie dann auszuführen. Die Befehle werden in der so genannten history gespeichert. Probieren Sie es aus: Führen Sie irgendein Kommando, zum Beispiel whoami aus; drücken Sie dann die Taste PFEIL-OBEN. Der letzte Befehl erscheint wieder am Shell-Prompt. Sie brauchen nun nur noch RETURN zu drücken, um ihn noch einmal auszuführen.

[Tipp]Doppelte Zeilen in history vermeiden

Seit der Version 3.0 der Bash ist es möglich, doppelte Einträge in der Datei .bash_history zu vermeiden. Hier ist die Zeile

export HISTCONTROL=ignoredups:erasedups

in die datei .bashrc einzutragen.

Wenn Sie einige Befehle eingegeben haben, können Sie mit den Tasten PFEIL-OBEN und PFEIL-UNTEN diese Befehle noch einmal anzeigen lassen. Sie können so Befehle mehrfach ausführen oder Tippfehler nachträglich korrigieren, ohne die ganze Zeile nochmals eingeben zu müssen.

Am einfachsten können Sie den Cursor in der Befehlszeile mit den Tasten PFEIL-LINKS und PFEIL-RECHTS bewegen. Tippen Sie einfach mal einen Befehl, z.B. whoami, ein. Gehen Sie nun mit dem Cursor an die Stelle mit dem Tippfehler, und löschen Sie mit BACKSPACE oder DELETE die gewünschten Zeichen. Geben Sie das noch fehlende Zeichen ein und drücken Sie RETURN.

Es gibt noch viele leistungsstarke Funktionen in der Shell. Eine detaillierte Beschreibung bekommen Sie mit dem Befehl man bash. Die komplette Dokumentation finden Sie unter /usr/share/doc/bash/.

An dieser Stelle möchten wir Ihnen nur einige häufig benutzte Funktionen vorstellen. Drücken Sie STRG+a, der Cursor springt damit an den Anfang der Zeile. STRG+k löscht von der aktuellen Position bis zum Zeilenende die komplette Eingabe (k für kill). Probieren Sie dies mitten in einer längeren Zeile einmal aus. Die Kombination STRG+a, dann STRG+k löscht die komplette Zeile. Die gelöschten Zeichen werden, unabhängig von der Länge, gespeichert und können mit STRG+y wieder an jeder Stelle eingefügt werden. Und zu guter Letzt: STRG+e bringt den Cursor ans Zeilenende.

Spielen Sie einfach mal ein wenig mit diesen Funktionen herum: Sie werden schnell merken, dass sich mit ihnen sehr effizient arbeiten lässt!

3.10.1 Beschreibung der Kommandozeile

Die Kommandos, die Sie an einem Shell-Prompt eingeben können, folgen einer bestimmten Syntax. Wenn Sie beispielsweise man man eingeben, erhalten Sie die Anleitung (Manpage) zu dem Kommando man. In dieser Anleitung finden Sie weitere Beschreibungen zum Kommando man und zu den Optionen dieses Kommandos. Beispielsweise finden Sie dort:

 man -k [-M path] keyword ...
 

Optionen, die in den eckigen Klammern ([]) stehen, sind nicht obligatorisch und können ausgelassen werden. Sie können also den Befehl man auch ohne die Option -M benutzen. Wenn Sie diese aber doch einsetzen, müssen Sie als Parameter den passenden Pfad angeben. Für die Option -k müssen Sie einen Suchbegriff (keyword) angeben. Die drei Punkte (...) bedeuten, dass Sie nach mehreren Begriffen suchen können, die dann durch Leerzeichen getrennt sein müssen.

Hier noch ein Beispiel für eine etwas komplexere Beschreibung:

  man  [-c|-w|-tZT  device]  [-adhu7V] [-m system[,...]] [-L
       locale] [-p string] [-M path] [-P pager] [-r  prompt]  [-S
       list] [-e extension] [[section] page ...] ...

Sie müssen nicht jede kleine Option verstehen - wichtig ist das Prinzip.

Neu ist in dieser Beschreibung das Zeichen |, es steht für oder - nicht zu verwechseln mit der Verwendung dieses Zeichens in der Shell, hier ist nur die Manpage gemeint. Sie können also eine der Optionen -c, -w oder -tZT benutzen, letztere zusammen mit einem Device als Argument.

Gruppen von Optionen wie -adhu7V bedeuten, dass Sie eine oder mehrere dieser Optionen gleichzeitig nutzen können. Dabei ist es nicht selbstverständlich, dass alle möglichen Kombinationen auch Sinn machen oder gar funktionieren. Lesen Sie dazu die komplette Anleitung zu man.

Beachten Sie weiterhin, wie die eckigen Klammern verschachtelt sind: [[section] page]. Dies bedeutet: Wenn Sie eine section angeben, müssen Sie auch eine page angeben.

 Impressum