Bunte Dateilisten Im Terminal
Geschrieben am Samstag, 21.Juli. @ 11:20:30 CEST von Baron
------------------------------------------------------------------------------------------------------

Wenn Dich die einfachen schwarz/weiß Dateilisten langsam langweilen, die Du im Terminal via "ls" bekommst, kannst Du ls dazu bringen, die Dateien nach ihrem Typ (nicht MIME Typ, sondern Verzeichnis, Verknüpfung etc.) und Dateierweiterung einzufärben.

Wenn Du also den Parameter -C oder --color an den ls Befehl übergibst,

ls -F -color

sollte die Ausgabe schon interessanter sein.

Wenn Du mehr Einfluß auf die für die verschiedenen Dateiarten verwendete Farbe haben willst, mußt Du eine Datei .dircolours (oder einen ähnlich Namen) in Deinem Home Verzeichnis erzeugen, die einen Eintrag für jeden Terminal Typ (also, beterm oder xterm) und eine Liste der Dateierweiterung mit den entsprechenden Farben enthält. Nachstehendes Beispiel zeigt wie's genau funktioniert.

COLOR tty

# Term Einträge, wähle einen und kommentiere den anderen aus (#).
TERM beterm
# TERM xterm

EIGHTBIT 1

# Jetzt kommen die Farbcodes...
# Die Codes für Attribute:
# 00=nichts 01=fett 04=unterstrichen 05=blinkend 07=rückwärts 08=unsichtbar
# Die Farbcodes:
# 30=schwarz 31=rot 32=grün 33=gelb 34=blau 35=pink 36=türkis 37=weiß
# Die Codes der Hintergrundfarben:
# 40=schwarz 41=rot 42=grün 43=gelb 44=blau 45=pink 46=türkis 47=weiß

NORMAL 00 # Standardwert, weil alles irgendeinen Wert haben muß
FILE 00 # normale Datei
DIR 00;32 # Verzeichnis
LINK 01;36 # symbolischer Link
FIFO 40;33 # Pipe
SOCK 01;35 # Socket
BLK 40;33;01 # Block Device Driver
CHR 40;33;01 # Character Device Driver

# Dies ist für als ausführbar gekennzeichnete Dateien:
EXEC 01;33

# Hier listest Du alle Dateierweiterungen wie '.gz' oder '.tar' auf, die ls
# einfärben soll. Erst die Erweiterung, dann ein Leerzeichen und
# schließlich den Farbcode.
# (und evtl. Kommentare nach einem "#" Zeichen)

*~ 05;31 # Zeug, daß wir keinesfalls rumliegen haben wollen (blinkend rot)
.c 00;35 # Sourcecode
.cpp 00;35
.h 00;36
.pl 00;35
.pm 00;35
.cgi 00;35
.html 04;35
.tar 00;31 # Archive oder komprimierte Dateien (rot)
.tgz 00;31
.arj 00;31

# Ende der Datei

Nachdem Du die Datei irgendwo abgespeichert hast, mußt Du noch die folgenden Befehle in Dein .profile (oder wohl noch besser .bashrc ) aufnehmen. ".dircolours" mußt Du natürlich anpassen, solltest Du Deine Definitionsdatei anders genant haben...

eval `dircolors ~/.dircolours`
alias ls='ls --color=always'