Home / LinuxUser / 2004 / 09 / Farbige Ausgabe von ls mit dircolors

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Bunte Verzeichnisse

Farbige Ausgabe von ls mit dircolors

01.09.2004 Der Befehl ls sorgt für einen Überblick über Verzeichnisinhalte, eine farbenfrohe Ausgabe ist dabei für viele Anwender bereits selbstverständlich. Dieser Artikel beschreibt, wie Sie die Farbwahl von ls steuern.

Sicherlich hat jeder Linux-Anwender, der schonmal ein Kommandozeilenfenster gestartet hat, bereits den ls-Befehl genutzt, um Verzeichnisinhalte anzuzeigen. Die gängigen Distributionen sind so vorkonfiguriert, dass verschiedene Farben die Ausgabe übersichtlicher gestalten (Abbildung 1).

Abbildung 1: Die Distributoren sorgen gewöhnlich bereits für eine bunte Ausgabe von ls.

Die Auswahl der vordefinierten Farben muss aber nicht optimal sein. Beispielsweise kommt es auf die Hintergrundfarbe des Fensters an; dunkelblaue Verzeichnisnamen auf schwarzem Hintergrund sind schwer lesbar, wie Abbildung 1 zeigt. Den individuellen Geschmack oder beispielsweise eine Rot-Grün-Blindheit kann kein Distributor vorhersehen.

Kasten 1:

ls

versus

dir

Einige Distributionen bieten ihren Nutzern, mit dem Augenmerk auf Windows-Umsteiger, die von DOS bekannten Befehle auch unter Linux an. Ein Beispiel hierfür ist der dir-Befehl, der unter DOS und der Kommandozeileneingabe von Windows Verzeichnisinhalte ausgibt. Typischerweise sind derartige Kommandos unter Linux als Alias realisiert: Unter Suse 9 beispielsweise führt die Eingabe von dir in der Kommandozeile lediglich den Befehl ls -l aus.

Ein Griff in den Malkasten

Die Farben, in denen ls die verschiedenen Dateitypen und Verzeichnisse darstellt, definiert die Umgebungsvariable LS_COLORS. In der Bash-Shell, die die meisten Distributionen als Standard verwenden, liest man diese mit dem Befehl echo $LS_COLORS aus. Unter Suse beispielsweise sieht das Ergebnis so aus:

LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32 .tar=01;31 .tgz=01;31 .arj=01;31 .taz=01;31 .lzh=01;31 .zip=01;31 .z=01;31 .Z=01;31 .gz=01;31 .bz2=01;31 .deb=01;31 .rpm=01;31 .jar=01;31 .jpg=01;35 .jpeg=01;35 .gif=01;35 .bmp=01;35 .pbm=01;35 .pgm=01;35 .ppm=01;35 .tga=01;35 .xbm=01;35 .xpm=01;35 .tif=01;35 .tiff=01;35 .png=01;35 .mpg=01;35 .mpeg=01;35 .avi=01;35 .fli=01;35 .gl=01;35 .dl=01;35 .xcf=01;35 .xwd=01;35 .ogg=01;35 .mp3=01;35 .wav=01;35:'

Der Befehl dircolors vereinfacht den Umgang mit den vielen einzelnen Werten dieser Variable. Ohne Parameter aufgerufen gibt dircolors zwei Zeilen aus: in der ersten den aktuellen Inhalt von LS_COLORS und in der zweiten den Befehl export LS_COLORS, der dafür sorgt, dass die Variable für alle zukünftig in der Shell gestarteten Programme gilt. Der Aufruf dircolors -p gibt eine erklärende Liste der einzelnen Werte aus; Listing 1 zeigt einen Auszug.

Listing 1

Ausgabe von

dircolors -p
TERM linux
#…
TERM Eterm
NORMAL 00       # Standardeinstellung
FILE 00         # Standardeinstellung für Dateien
DIR 01;34       # Standardeinstellung für Verzeichnisse
LINK 01;36      # Symbolische Links
#…
ORPHAN 40;31;01 # verwaiste symbolische Links
#…
EXEC 01;32      # Ausführbare Dateien
.tar 01;31      # Dateien mit der Endung .tar
.jpg 01;35
[…]

Ganz oben erscheint eine Liste der zu unterstützenden Terminal-Typen. Dann folgen die Farbgebungen für die einzelnen Dateitypen, zuerst die allgemeinen Fälle: NORMAL behandelt alle Typen, die nicht anderweitig definiert sind. Darunter folgt der Eintrag FILE, der die anzuzeigende Farbe gewöhnlicher Dateien bestimmt.

DIR und LINK sind für Verzeichnisse und symbolische Links zu anderen Dateien oder Verzeichnissen zuständig, dann folgen die Einträge für spezielle Dateitypen wie die Gerätedateien im Verzeichnis /dev. Der Eintrag ORPHAN beschreibt Links, die auf nicht existierende Dateien verweisen. Anschließend folgt eine Liste gewöhnlicher Dateien mit bestimmten Endungen, für jedes beliebige Suffix lässt sich eine eigene Farbe festlegen.

Malen mit Zahlen

Hinter jedem Eintrag stehen mindestens eine und bis zu drei Zahlen, die Schriftfarbe- und art – z. B. fett – sowie die Hintergrundfarbe bestimmen. Im Eintrag DIR 01;34 beispielsweise sorgt der Wert 01 für eine fette Darstellung, die 34 ergibt eine blaue Schriftfarbe.

Der Eintrag ORPHAN 40;31;01 stellt drei Werte ein, neben der Fettschrift mit 01 und der Farbe rot (31) erzwingt der Eintrag 40 einen schwarzen Hintergrund (Abbildung 2). Die Reihenfolge der verwendeten Werte spielt keine Rolle: Die Werte zwischen 00 und 08 definieren immer die Schriftart, 30 bis 37 die Vordergrundfarbe und 40 bis 47 den Hintergrund. Fehlt eine Angabe, verwendet ls den Standard. Tabelle 1 zeigt die einzelnen Schlüssel.

Abbildung 2: Bunte Anzeige von ls mit definierter Hintergrundfarbe.

Tabelle 1: Bedeutung der Werte bei dircolors

Schriftart Schrift-/Hintergrundfarbe
00: Keine Veränderung 30/40: Schwarz
01: Fett 31/41: Rot
04: Unterstrichen 32/42: Grün
05: Blinkend 33/43: Gelb
07: Vertauscht Vorder- und Hintergrundfarbe 34/44: Blau
08: Verborgen (funktioniert nicht bei allen Terminals) 35/45: Magenta
  36/46: Cyan
  37/47: Weiß

Beim Eintrag LINK gibt es einen zusätzlichen Spezialfall: Wollen Sie Links keine eigene Farbe zuordnen, sondern sie wie ihr Ziel darstellen lassen, gibt es für diesen Eintrag die Sonderoption target. Anstelle der Zahlenwerte tragen Sie ein:

LINK target

Damit unterscheidet ein Aufruf von ls farblich nicht mehr zwischen einem Verzeichnis und einem Link auf ein Verzeichnis.

Um die Liste mit Hilfe von dircolors zu bearbeiten, exportieren Sie die eingestellten Werte in eine eigene Datei:

dircolors -p > meine_farben.txt

In meine_farben.txt ändern Sie nun mit einem beliebigen Texteditor die Werte nach Bedarf. Der Befehl dircolors meine_farben.txt liest anschließend die Werte aus dieser Datei aus und gibt die Zeilen aus, durch deren Ausführung die Variable LS_COLORS entsprechend gesetzt würde. Damit die Änderungen wirksam werden, führt der Befehl eval die ausgegeben Kommandos direkt aus:

eval `dircolors meine_farben.txt`

Abbildung 3: Verzeichnisnamen in Gelb.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

1809 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...