Aufmacher

Farbe auf der Shell mit ANSI-Escape-Sequenzen

Ein neuer Anstrich

Jetzt ist Schluss mit dem grauen Shell-Alltag – renovieren Sie die Konsole und verpassen Sie ihr mit ANSI-Escape-Sequenzen einen neuen Look.

Schwarz auf Weiß oder Weiß auf Schwarz – so langweilig muss heutzutage kein Terminal mehr aussehen. Jede moderne Linux-Konsole stellt problemlos zahlreiche Farben dar und koloriert damit Programmausgaben, Begrüßungsmeldungen und sogar den Shell-Prompt. Dieser Artikel zeigt, wie Sie Farbe ins Spiel bringen und die Kommandozeile renovieren.

Der Farbtopf

Einige Programme bringen sie von Haus aus mit – Parameter, die die Ausgabe einfärben. Sowohl Ls als auch Grep verstehen die Option --color, die mit bunter Ausgabe auf der Konsole für mehr Übersicht sorgt (Abbildung 1). Für den Anstrich sorgen die so genannten ANSI-Escape-Sequenzen.

Abbildung 1: Die Befehle Ls und Grep färben auf Wunsch die Programmausgabe ein und sorgen so für mehr Übersicht.

Um beispielsweise mithilfe des Tools Echo eine farbige Textzeile auf der Bash auszugeben, markieren Sie den entsprechenden Text mit einer solchen Escape-Sequenz. Listing 1 zeigt entsprechende Beispiele.

Listing 1
echo -e "Ein \033[0;34mblaues Huhn\033[0m. Das ist wieder normaler Text."
echo -e "Ein \e[0;34mblaues Huhn\e[0m. Das ist wieder normaler Text."
echo "Ein ^[[0;34mblaues Huhn^[[0m. Das ist wieder normaler Text."
echo -e "Ein \033[0;34m\033[41mblaues Huhn\033[0m sitzt gerne auf roten Sachen."

Dort sieht man, dass die Eingabe des Escape-Zeichens (^[) selbst auf verschiedene Art und Weise möglich ist. Die oktale Schreibweise lautet \033; in dieser Form (und auch bei der Schreibweise \e) benötigt das Echo-Programm die Option -e, um die Interpretation des Backslash zu ermöglichen. Alternativ geben Sie das Zeichen in Vi(m) und auf der Bash ein über die Tastenkombinationen:

  • [Strg]+[V],[Esc]
  • [Strg]+[V],[Strg]+[[]

In (X)Emacs benutzen Sie eine der drei Tastenkombinationen:

  • [Strg]+[Q],[Esc]
  • [Strg]+[Q],[Strg]+[[]
  • [Strg]+[Q][0][3][3]

Nach dem Escape-Zeichen folgen eine sich öffnende eckige Klammer und der Farbcode (abgeschlossen durch das m): Vor dem Semikolon steht optional ein Attribut für die Vordergrundfarbe (im Beispiel 0 für normale Schrift) und eine Vorder- oder Hintergrundfarbe (im Beispiel 34 für blaue Schrift auf Standardhintergrund). Es folgt der farbige Text (blaues Huhn), und über ^[[0m schalten Sie wieder zurück auf die Standardeinstellungen für den restlichen Text.

Eigentlich bestehen die Attribute aus zwei Ziffern (zum Beispiel 00). Die einstellige Schreibweise reicht aber aus, da die erste Ziffer immer eine Null ist. Als Eigenschaften für die Vordergrundfarbe sind neben 0 unter anderem 1 (fett), 4 (unterstrichen), 5 (blinkend) oder 7 (invers) möglich. Für die Hintergrundfarben existieren kein zusätzlichen Attribute.

Abhängig davon, ob Sie auf der Konsole (gemeint sind KDEs Terminalprogramm Konsole und die virtuellen Konsolen, die Sie in der Regel über [Strg]+[Alt]+[F1]…[F6] erreichen) oder in einem Xterm arbeiten, sehen die Farben anders aus und die Attribute bewirken eine unterschiedliche Ausgabe: So verändert 1 auf der Konsole beispielsweise die Helligkeit der Vordergrundfarbe sowie im Xterm die Stärke, das heißt, sie setzt die Attribute fett oder normal (Abbildung 2). Die Tabelle "Vordergrund" gibt eine Übersicht über die Vordergrundfarben mit den beiden Attributen 0 und 1; die Tabelle "Hintergrund" zeigt die möglichen Hintergrundfarben (ohne Attribut).

Vordergrund

Farbcode 00 01
30 Schwarz Grau
31 Rot Hellrot
32 Grün Hellgrün
33 Braun Gelb
34 Blau Hellblau
35 Magenta Rosa
36 Cyan Hellcyan
37 Weiß Hellgrau

Hintergrund

Farbcode Hintergrund
40 Schwarz
41 Rot
42 Grün
43 Gelb (Xterm)/Braun (Konsole)
44 Blau
45 Magenta
46 Cyan
47 Hellgrau
Abbildung 2: Abhängig davon, ob Sie Konsole oder Xterm verwenden, beeinflusst das Attribut 01 entweder die Farbe oder den Schriftgrad.

Sie dürfen auch Vorder- und Hintergrundfarbe miteinander kombinieren. Um beispielsweise das den Text blaues Huhn auf einem rotem Hintergrund auszugeben, hängen Sie an das Kommando für die Vordergrundfarbe direkt den Farbcode für den Hintergrund an (Listing 1, Zeile 4).

Grep mal farbig

Wem die Standardfarbausgabe der Option --color von Grep nicht zusagt, definiert die Variable GREP_COLOR mit den gezeigten Escape-Sequenzen neu. Um das voreingestellte Highlight-Rot zum Beispiel durch eine türkise, unterstrichene Schrift auf einem Hintergrund in Magenta zu ersetzen, tippen Sie:

export GREP_COLOR="04;36;45"

Die Anführungszeichen verhindern, dass die Shell das Semikolon interpretiert. Die so gesetzte Variable gilt jedoch nur für die Dauer der aktuellen Shell-Sitzung. Um Grep mit einem permanenten Anstrich zu versehen, tragen Sie den Aufruf in die Datei ~/.bashrc ein. Spätestens beim nächsten Anmelden aktiviert sich die die neue Konfiguration. Möchten Sie nicht so lange warten, lesen Sie die Bash-Konfigurationsdatei über das Kommando source ~/.bashrc zur Laufzeit ein.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Farbige Shell-Prompts und "ls"-Ausgaben
    Die Bash lässt sich in vielfältiger Weise konfigurieren und den persönlichen Vorlieben anpassen. Ein individueller Prompt kann die Übersichtlichkeit fördern, und auch die Ausgabe von "ls" wird mit Farben lesbarer.
  • Make-up für den Prompt
    Bringen Sie die Bash so richtig in Form – wir zeigen, wie Sie mit Farbe und anderen Steueranweisungen einen speziell angepassten Shell-Prompt basteln.
  • Shell-Tipps
    Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sie manche Aufgabe schneller bewältigen als in grafischen Programmen. Wir stellen interessante Anwendungen und Aufrufparameter vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
  • ls
    Lassen Sie sich Ihre Dateien doch mal auf der Kommandozeile auflisten! Mit ls behalten Sie dabei den Überblick.
  • Verzeichnisinhalt en detail mit "ls"
    Das Kommando "ls" listet Ihre Daten auf der Kommandozeile auf und verrät dabei auch allerhand über die Dateieigenschaften. Ob mit oder ohne Farbe – mit diesem Befehl behalten Sie den Überblick über Ihre Daten.
Kommentare
Linux und der Farbtopf
peter-s (unangemeldet), Freitag, 21. Mai 2010 14:43:47
Ein/Ausklappen

Schlicht grässlich diese Spielerei - ein Feature für Leute die nicht lesen können.


Bewertung: 249 Punkte bei 78 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Linux und der Farbtopf
Max (unangemeldet), Dienstag, 01. April 2014 08:26:30
Ein/Ausklappen

Bei zu viel Farbe: sicherlich. Ansonsten für Menschen die viel auf der Konsole unterwegs sind und schnell einen Überblick wollen sehr nützlich.


Bewertung: 241 Punkte bei 78 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 09/2017 PERFEKTE FOTOS

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

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Aktuelle Fragen

kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 4 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...
WLan mit altem Notebook funktioniert nicht mehr
Stefan Jahn, 22.08.2017 15:13, 0 Antworten
Ich habe ein altes Compaq-6710b Notebook mit Linux Mint Sonya bei dem WLan neulich noch funktioni...
Würde gerne openstreetmap.de im Tor-Browser benutzen, oder zu gefährlich?
Wimpy *, 21.08.2017 13:24, 2 Antworten
Im Tor-Netzwerk (Tor-Browser) kann ich https://www.openstreetmap.de/karte.html# nicht nutzen....
Samsung VG-KBD1500 - Bluetooth-Tastatur mit Touchpad mit Xubuntu 16.04.2 LTS
Linux- & BSD-UserGroup im Weserbergland, 16.08.2017 19:16, 0 Antworten
Bin grad mit "meinem Latein am Ende" darum hier mal so in den Raum geworfen. Samsung VG-KBD1500 -...