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

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Mandriva gibt Distribution in die Hände der Community
(268 Punkte bei 24 Stimmen)
Neues vom Systemd
(161 Punkte bei 4 Stimmen)
Mandriva in Nöten
(161 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

2072 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 06/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

Adobe AIR
Adobe-AIR-Programme installieren und (manuell) starten
Tim Schürmann, 14.05.2012 13:09, 0 Kommentare

Es gibt sie noch: neue Anwendungen, die Adobes Integrated Runtime voraussetzen. Aktuellstes und vermutlich auch größtes Beispiel ist das Adventure Botanicula

Aktuelle Fragen

gibt es ein Kommandozeilen Tool, um ein X11-Fenster in ein Anderes einzubetten?
GoaSkin , 21.05.2012 16:44, 0 Antworten
Das XEmbed-Protokoll ist u.A. dazu gedacht, dass man eine X11-Anwendung in eine andere wie ein Wi...
Apache2, Options -Indexes geht nicht
no no, 12.05.2012 19:01, 8 Antworten
Habe in apache2.conf folgendes stehen: Options -Indexes ...
LInux auf Dell LS H500
Andreas Endresl, 09.05.2012 08:54, 2 Antworten
Habe einen alten Dell Latitude LS H500 nur mit ext. Floppy und CD es geht nur immer eines von den...
Datenwiederherstellung unter Ubuntu 12.04 mit "Simple Backup" nach Umzug von Linux Mint
Christian Lottmann, 07.05.2012 13:33, 0 Antworten
Vor dem Umzug auf Ubuntu 12.04 habe ich unter Linux MInt mit "Simple Backup" voll (15.4.2012) und...
DKMS für den propritären NVIDIA-Treiber
Commander Data, 26.04.2012 22:02, 2 Antworten
Hallo an die Gemeinde. Ich habe hier ein interessantes Stück openSuSE gefunden. http://forums.op...