13.12. Befehlszeilenpuffer und automatische Vervollständigung von Befehlen

Schon nach kurzer Zeit wird es Ihnen wahrscheinlich lästig, den gleichen Befehl immer wieder aufs Neue eingeben zu müssen. Der kleinste Tippfehler kann dabei ganze Zeilen eines Befehls zunichte machen.

Benutzen Sie statt dessen den Befehlszeilenpuffer. Durch einfaches Scrollen mit den [Pfeil nach oben] und [Pfeil nach unten]-Tasten können Sie viele Ihrer zuvor eingegebenen Befehle wiederfinden.

Probieren Sie es aus, in dem Sie sich die Datei sneakers.txt (unter Abschnitt 13.9.1 erstellt) nocheinmal ansehen. Geben Sie am Shell-Prompt das erste Mal jedoch folgenden Befehl ein:

cat sneakrs.txt

Es passiert natürlich nichts, weil es die sneakrs.txt -Datei nicht gibt. Kein Problem. Sie können jetzt einfach die Pfeil nach oben-Taste drücken und schon wird der Befehl wieder angezeigt. Anschließend gehen Sie mit der Pfeil nach links-Taste an die Stelle, an der Sie das "e" vergessen haben. Fügen Sie den Buchstaben ein und drücken Sie nochmals die [Enter-Taste].

Sie sehen jetzt den Inhalt der Datei sneakers.txt.

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

TippTipp
 

Wenn Sie den Befehl env an einem Shell-Prompt eingeben, sehen Sie die Umgebungsvariable, die die Größe des Befehlszeilenpuffers bestimmt. In der Zeile HISTFILESIZE=500 wird die Anzahl der Befehle angezeigt, die mit bash gespeichert werden.

Der Befehlszeilenpuffer wird in einer Datei mit dem Namen .bash_history gespeichert, die sich in Ihrem Login-Verzeichnis befindet. Für die Anzeige dieser Datei gibt es eine Reihe von Möglichkeiten: Die Eingabe von vi, cat, less, more oder andere Befehl.

Beachten Sie, dass die Datei sehr lang sein kann.Um sie mit dem more-Befehl zu lesen, geben Sie von Ihrem Homeverzeichnis aus Folgendes ein:

more .bash_history

Um vorzublättern, drücken Sie die [Leertaste]; Zum Zurückblättern drücken Sie [b] und zum Beenden [q].

TippTipp
 

Wenn Sie einen Befehl in Ihrem Befehlszeilenpuffer finden möchten, ohne ständig die Pfeil-Tasten betätigen oder durch die Pager einer Datei verwenden zu müssen, verwenden Sie einfach grep, ein leistungsfähiges Dienstprogramm (siehe Abschnitt 13.11.3. So finden Sie einen zuvor benutzten Befehl: Angenommen, Sie suchen einen Befehl, der cat sneak-nochwas lautete. Sie haben den Befehl benutzt und gehen davon aus, dass er im Befehlszeilenpuffer gespeichert ist. Geben Sie also Folgendes am Shell-Prompt ein:

history | grep sneak

Eine weiteres zeitsparendes Tool ist die automatische Vervollständigung von Eingaben. Wenn Sie einen Teil eines Dateinamens, Befehls oder Pfadnamens eingeben und dann die [Tabulator]-Taste drücken, ergänzt bash entweder den fehlenden Teil der Datei bzw. des Pfades oder erzeugt einen Ton (sofern Ihnen diese Ton-Funktion in Ihrem System zur Verfügung steht). Wenn Sie dieses Signal hören, drücken Sie einfach erneut die [Tabulator]-Taste um eine Liste zu sehen, die alle Dateien/Pfadnamen enthalten, die mit Ihrer bisherigen Eingabe übereinstimmen.

Wenn Sie beispielsweise den Befehl updatedb vergessen haben, sich aber noch einen Teil des Befehls erinnern, können Sie sich mit su als root anmelden und dann am Shell-Prompt up eingeben. Drücken Sie dann die [Tabulator]-Taste zweimal, um eine Liste von möglichen Ergänzungen anzuzeigen. Diese Liste enthält auch updatedb und uptime. Mit der Eingabe eines Teils des Befehls upd und der erneuten Betätigung der [Tabulator]-Taste wird Ihre Eingabe automatisch zum gewünschten Befehl ergänzt.