Appetitliche Shell

Tricks für die Bash

01.07.2006
Mit ein paar grundlegenden Kniffen bringen Sie Schwung und Farbe in die Arbeit auf der Kommandozeile.

Die Shell vermittelt zwischen dem Benutzer und dem Betriebssystem als Kommandozeileninterpreter: Sie wertet unter anderem Befehle, Platzhalter und Variablen aus, verknüpft Kommandos miteinander und leitet Programmausgaben an andere Tools oder in Dateien weiter. Neben der Bourne Shell (Sh), Korn Shell (Ksh), C Shell (Csh) und Z Shell (Zsh) spielt auf Unix-Systemen vor allem die Bourne Again Shell, kurz Bash, eine Rolle – sie hat sich als Standard unter Linux durchgesetzt. Das Arbeiten auf der Bash gestaltet sich wesentlich angenehmer, wenn man den Prompt an eigene Vorstellungen anpasst, die verschiedenen Tastaturkürzel kennt und den Funktionsumfang mit eigenen Alias-Definitionen und Umgebungsvariablen erweitert.

Auf Kommando!

Befehle geben Sie standardmäßig am Shell-Prompt ein. Eine typische Eingabeaufforderung sieht beispielsweise so aus:

huhn@huhnix:~>

Der Prompt verrät mehr zum Benutzernamen, zum Namen des Rechners, auf dem Sie arbeiten, und zum aktuellen Arbeitsverzeichnis (im Beispiel das Home-Verzeichnis des Benutzers, durch die Tilde repräsentiert). Wenn Sie als Systemverwalter arbeiten, sieht der Prompt anders aus – dass Sie Root sind, erkennen Sie auf den meisten Systemen durch das Rautezeichen (#) im Prompt:

huhnix:~ #

Den Prompt können Sie individuell anpassen: Datum und Uhrzeit, Uptime des Rechners oder verschiedene Farben – mit wenigen Handgriffen richten Sie Ihre Arbeitsumgebung selbst ein. Zuständig für das Aussehen ist die Umgebungsvariable PS1 (siehe auch Abschnitt "Alles variabel"). Wer beispielsweise die aktuelle Uhrzeit (im 24-Stunden-Format) vor dem Benutzer- und Rechnernamen sehen möchte, gefolgt vom aktuellen Arbeitsverzeichnis, der setzt die Variable temporär mit dem Befehl:

$ export PS1="[\t] \u@\h:\w> "
[19:11:06] huhn@huhnix:~>

Zum Einsatz kommen hier die Escape-Sequenzen \t (Uhrzeit im 24-Stunden-Format), \u (User-Name des aktuell angemeldeten Benutzers), \h (Hostname bis zum ersten Punkt) und \w (aktuelles Arbeitsverzeichnis). Mit speziellen Escape-Sequenzen lässt sich der Prompt auch farblich gestalten, etwa indem Sie einen normalen Benutzer-Prompt in Grün und den Prompt des Administrators in Rot anzeigen.

Eine Auflistung sämtlicher Escape-Sequenzen finden Sie in der Bash-Manpage; weiterhin lohnt sich ein Blick ins Bash-Prompt-Howto [1].

Ein gutes Gedächtnis

Die Bash hat ein gutes Gedächtnis: Alle Eingaben merkt sie sich in der so genannten History (Datei ~/.bash_history), so dass sich alte Kommandos schnell wieder auf den Schirm zaubern lassen. Drücken Sie [Pfeil oben], sehen Sie das zuletzte getippte Kommando auf dem Bildschirm. Wenn Sie die Taste mehrmals hintereinander drücken, wandern Sie weiter zurück, und [Pfeil unten] bringt Sie wieder nach vorne. Wieder zurückgeholte Befehle können Sie modifizieren und natürlich mit Druck auf die Eingabetaste erneut ausführen.

Das Gedächtnis der Bash ist allerdings nur so gut, wie in der Umgebungsvariable HISTSIZE definiert (siehe Abschnitt "Alles variabel"). Für wie viele Kommandos dort Platz ist, erfahren Sie ebenfalls auf der Shell:

$ echo $HISTSIZE
500

Sobald diese Grenze erreicht ist, verschwinden die ersten Befehle aus der Datei, um Platz für neue Eingaben zu machen. Damit Sie sich bei der Suche nach alten Kommandos nicht die Finger wundtippen müssen, bietet die Bash eine eingebaute Suchfunktion. Drücken Sie die Tastenkombination [Strg-R] bzw. [Strg-S] (siehe auch Tabelle "Tastenkürzel der Bash"), um die History rückwärts oder vorwärts gezielt nach Kommandos zu durchforsten. Der Prompt verändert sich; so zeigt [Strg-R] beispielsweise folgende Eingabeaufforderung an:

(reverse-i-search)`':

Hinter dem Doppelpunkt tippen Sie nun den gesuchten Befehl (oder einfach nur Teile des Kommandos) ein. Die Bash vervollständigt die Kommandos bereits während der Eingabe, so dass manchmal wenige Buchstaben ausreichen, um einen vergangene Befehl aufzuspüren. Um ein gefundenes Kommando auszuführen, drücken Sie die Eingabetaste. Alternativ suchen Sie durch wiederholten Druck auf [Strg]+[R] weiter, bis Sie den richtigen Befehl gefunden haben. Geben Sie [Esc] ein, um das gefundene Kommando vor dem Ausführen noch zu verändern.

Tastenkürzel der Bash

[Strg-A] Springt zurück an den Anfang der Eingabe.
[Strg-E] Springt ans Ende der Eingabe.
[Esc-B] Geht ein Wort zurück.
[Esc-F] Geht ein Wort vor.
[Strg-B] Springt ein Zeichen zurück.
[Strg-F] Springt ein Zeichen vor.
[Strg-K] Löscht von der Cursorposition bis zum Ende der Eingabe.
[Strg-U] Löscht von der Cursorposition bis zum Anfang der Zeile.
[Strg-W] Löscht das Wort links vom Cursor.
[Strg-T] Vertauscht die beiden Zeichen vor und unter dem Cursor.
[Esc-T] Vertauscht die beiden vorangehenden Wörter.
[Strg-L] Löscht den Inhalt des Terminal-Fensters.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Bequem(er) durch die History der Bash
  • Konfiguration der Bash
    Für viele Einsteiger ist die Shell ein Mysterium, das fortgeschrittenen Anwendern und Linux-Gurus vorbehalten bleibt. Dabei verbirgt sich hinter dem Prompt ein flexibles Programm, mit dem Anwender beinahe jede Aufgabe lösen können.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • Bequem eingerichtet
    Mit Umgebungsvariablen richten Sie sich die Kommandozeile individuell und gemütlich ein.
  • Bash-Kurs Teil 6
    Die elementaren Konfigurationsmöglichkeiten mit eingebauten Funktionen der Bash sind der Schwerpunkt dieses Teils. Im nächsten wird ein komfortables Tool zur Erzeugung von Konfigurationsdateien vorgestellt.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...