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 01/2015: E-Books im Griff

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

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.
Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 5 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...