Ein neuer Anstrich
Farbe auf der Shell mit ANSI-Escape-Sequenzen
Wer hat Ls angemalt?
Auch Ls nutzt die Escape-Sequenzen, um die verschiedenen Dateitypen für die Listings anzumalen: Verzeichnisse sind blau, ausführbare Dateien grün, und symbolische Links präsentieren sich in Cyan. Wer die Farben von Ls verändern möchte, etwa, weil die blaue Schrift auf schwarzen Terminal-Hintergründen schlecht lesbar ist, greift zum Programm Dircolors, das verantwortlich für die Umgebungsvariable LS_COLORS zeichnet.
Theoretisch wäre es auch möglich, diese Variable von Hand zu setzen; die Ausgabe von echo $LS_COLORS zeigt allerdings, wie lang und ausgefeilt die Einstellungen für die einzelnen Dateitypen sind. Das Programm Dircolors übernimmt den Job gerne und weiß genau, was in welcher Farbe angestrichen werden soll. Geben Sie den gleichnamigen Befehlsnamen ohne weitere Argumente auf der Shell ein, sehen Sie die aktuellen Einstellungen.
In Kombination mit dem Parameter -p zeigt Dircolors an, welche Farben für die einzelnen Dateitypen definiert sind. Am besten leiten Sie die Ausgabe über eine Pipe an das Programm Less oder More weiter und betrachten das Ganze mit dem Befehl dircolors -p | less seitenweise.
Neue Tapete für Ls
Um die Voreinstellungen für die Ls-Farben zu verändern, erstellen Sie eine eigene Konfigurationsdatei für Dircolors. Am leichtesten gelingt das, wenn Sie die Ausgabe von dircolors -p in einer Datei speichern und diese mit einem Texteditor bearbeiten. Der Befehl dircolors -p > ~/.dircolors schreibt die Ausgabe in die versteckte Datei .dircolors in Ihrem Home-Verzeichnis. Hinter Kommentarzeichen (#) versteckt befinden sich Erklärungen zu den Farbcodes und auch zu den Dateitypen.
Um beispielsweise den Anstrich für Verzeichnisse von einem dunklen Blau in Grün zu verwandeln, navigieren Sie bis zur Zeile DIR 01;34 # directory und ändern den Farbcode zu DIR 01;32 # directory für die neue Farbkombination.
Speichern Sie die Datei und verlassen Sie den Editor. Nun machen Sie die neue Konfigurationsdatei mit dircolors -b ~/.dircolors dem Programm bekannt. Ein anschließender Ls-Aufruf präsentiert die Verzeichnisse im neuen Gewand. Um die Einstellungen dauerhaft zu machen, schreiben Sie entweder eine entsprechende Export-Anweisung für die Variable LS_COLORS oder den Dircolors-Befehl selbst in die Datei ~/.bashrc. Letzteres ist auf Debian-Systemen beispielsweise der Standard:
eval "`dircolors -b ~/.dircolors`"
Da Dircolors die Variable nicht selbst setzen kann, nutzen Sie eval, um den Befehl auszuführen.



