Befehlszeilenpuffer und automatische Vervollständigung von Befehlen

Schon nach kurzer Zeit wird es Ihnen wahrscheinlich lästig, den gleichen Befehl immer wieder von neuem eingeben zu müssen. Da Sie in Linux zudem am Shell Prompt mehrere Befehle miteinander verknüpfen können, reicht schon ein kleiner Tippfehler aus, um Ihre Eingabe unbrauchbar zu machen.

Doch auch hier bietet Ihnen Linux eine Lösung: den Befehlszeilenpuffer. Durch einfaches Scrollen mit den Nach-oben- und Nach-unten-Tasten können Sie viele Ihrer zuvor eingegebenen Befehle wieder anzeigen - sogar die Befehle mit Tippfehlern.

Am besten probieren Sie diese Funktion wieder anhand eines praktischen Beispiels aus und verwenden hierzu sneakers.txt (der in Abschnitt namens Verwenden der Umleitung erstellt wurde). Geben Sie am Shell Prompt folgenden Befehl ein:

cat sneakrs.txt

Es passiert nichts, da es die Datei sneakrs.txt gar nicht gibt. Kein Problem. Sobald Sie auf die Nach-oben-Taste drücken, wird der Befehl wieder angezeigt. Nun müssen Sie nur noch mit der Nach-links-Taste den Cursor an die Stelle bewegen, an der das "e" fehlt. Fügen Sie den Buchstaben ein, und drücken Sie wieder die Eingabetaste.

Nun wird der Inhalt von sneakers.txt angezeigt.

Standardmäßig werden im Befehlszeilenpuffer von bash bis zu 500 Befehle gespeichert.

TipEin näherer Blick auf die Umgebungsvariable
 

Wenn Sie den Befehl env am Shell Prompt eingeben, sehen Sie die Umgebungsvariable, die die Größe des Befehlszeilenpuffers bestimmt. Der Zeile HISTFILESIZE=500 können Sie entnehmen, dass bash 500 Befehle in einem speziellen Puffer speichert.

Der Befehlszeilenpuffer besteht im Wesentlichen aus einer Datei mit der Bezeichnung .bash_history in unserem Anmeldeverzeichnis. Für die Anzeige dieser Datei gibt es eine Reihe von Möglichkeiten: So können Sie pico, cat, less, more und weitere Befehle verwenden.

Beachten Sie, dass die Datei sehr lang sein kann.

Zeigen Sie den Inhalt der Datei einfach mit more an:

more .bash_history

Um vorzublättern, drücken Sie die Leertaste, zum Zurückblättern dient b, um die Anzeige der Datei zu beenden, drücken Sie die Taste q.

TipSuchen nach einem zuvor benutzten Befehl
 

Möchten Sie einen Befehl in Ihrem Befehlszeilenpuffer finden, ohne mit den Pfeiltasten oder einem Pager in der Datei mit den gespeicherten Befehlen suchen zu müssen? Verwenden Sie hierzu grep, ein leistungsfähiges Dienstprogramm zum Suchen (siehe Abschnitt namens Der Befehl grep). So finden Sie einen zuvor benutzten Befehl: Angenommen, Sie suchen einen Befehl, der cat sneak oder so ähnlich lautet. Sie haben diesen Befehl bereits verwendet und glauben, dass er in Ihrem Befehlszeilenpuffer gespeichert sein müsste. Geben Sie am Shell Prompt Folgendes ein:

history | grep sneak

Eine weitere praktische Funktion, mit der Sie viel Zeit sparen, besteht in der automatischen Vervollständigung von Eingaben. Wenn Sie nach der Eingabe eines Teils eines Dateinamens, Befehls oder Pfadnamens die Tabulatortaste drücken, ergänzt bash entweder den fehlenden Teil der Datei bzw. des Pfades oder erzeugt einen Ton. Wenn Sie dieses Signal hören, können Sie die Tabulatortaste nochmals drücken, um in einer Liste alle Dateien oder Pfadangaben anzuzeigen, die mit Ihrer bisherigen Angabe übereinstimmen.

Wenn Sie beispielsweise den Befehl updateb vergessen haben, sich aber noch an einen Teil des Befehls erinnern, können Sie sich mit su als Root anmelden und dann am Shell Prompt up eingeben. Wenn Sie nun die Tabulatortaste zweimal drücken, wird auf dem Bildschirm eine Reihe von möglichen Ergänzungen angezeigt, darunter updateb und uptime. Wenn Sie den Buchstaben "d" an up anhängen und nochmals die Tabulatortaste drücken, wird Ihre Eingabe automatisch zum gewünschten Befehl ergänzt.