Mit List und Tücke
Verzeichnisinhalt en detail mit "ls"
Farbenzauber
Wenn Sie über den Parameter -F den Dateityp durch ein Symbol kenntlich machen, zeigt sich die ls-Ausgabe schon recht übersichtlich. Noch einfacher erkennen Sie, was sich im Ordner befindet, wenn Sie mit der Option --color Farbe ins Spiel bringen und so den verschiedenen Dateitypen eine bestimmte Einfärbung zuordnen.
Als zusätzliche Angabe versteht der Parameter die Definitionen --color=always, --color=none oder --color=auto. Die letzte Variante ist die Standardeinstellung und sorgt dafür, dass ls nur bei der direkten Ausgabe in ein Terminal Farben präsentiert. Leiten Sie die Ausgabe hingegen an ein anderes Programm oder in eine Datei um, verzichtet ls auf das "Make-up" und kehrt zur Schwarz-Weiß-Darstellung zurück. Im Gegensatz dazu zeigt always immer und none niemals Farben an.
In welchen Schminkkasten ls dabei greift, d. h. welche Farben ls für welchen Dateityp verwendet, finden Sie heraus, indem Sie die Variable LS-COLORS betrachten:
$ echo $LS_COLORS no=00:fi=00:di=01;34:ln=00;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:…
Da die Steuer-Codes für die Farben schlecht verständlich sind, schauen Sie mit dem Befehl
dircolors -p | less
nach, wie diese definiert sind. (Damit die recht lange Anzeige nicht aus dem Fenster herausscrollt, leiten Sie die Ausgabe über das Pipe-Zeichen an den Pager less weiter und betrachten sie seitenweise.) Hier finden Sie beispielsweise die Information, dass Verzeichnisse jeweils fett (bold) und in Blau (blue) ausgegeben werden:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed # 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white DIR 01;34 # directory
Anpassungsfähig
Wer selbst Farben für den ls-Befehl definieren möchte, setzt die schon erwähnte Variable LS_COLORS in der eigenen Bash-Konfigurationsdatei neu. Markieren Sie dazu die Ausgabe des Kommandos echo $LS_COLORS mit der linken Maustaste und fügen Sie den Inhalt der Zwischenablage über die mittlere Maustaste in die Datei .bashrc ein. Davor setzen Sie den Aufruf export LS_COLORS=; schließen Sie die Steuer-Codes außerdem in Hochkommas ein. In der Datei steht nun eine Zeile der Art
export LS_COLORS="no=00:fi=00:di=…"
Ausgehend von den Farb-Codes, die Sie über dircolors -p | less erfahren haben, passen Sie nun die Einfärbung an. Gefällt Ihnen die rote Farbe für Debian-Pakete (Dateiendung .deb) nicht, ersetzen Sie die Ziffer 31 durch etwas Eigenes, z. B. 35 für Magenta:
*.deb=00;35:
Lesen Sie die Bash-Konfigurationsdatei anschließend mit dem Kommando
source ~/.bashrc
neu ein, erstrahlen Debian-Pakete beim nächsten Aufruf von ls --color in Magenta.
Wie schon erwähnt, setzen die meisten Distributionen ein Alias für ls, das bestimmte Optionen des Befehls standardmäßig aufruft. In der Datei .bashrc können Sie selbst die für Sie wichtigsten Parameter definieren. Soll ls beispielsweise immer auf den Dateityp mit einem Symbol (-F) und mit Farben (--color) hinweisen, tragen Sie
alias ls='ls -F --color'
ein. Ebenso kann es sinnvoll sein, ein weiteres Alias für die lange und ausführliche Anzeige inklusiver versteckter Verzeichnisse und Dateien zu beschreiben, z. B.:
alias ll='ls -laF --color'
Vergessen Sie nach den jeweiligen Änderungen der Konfigurationsdatei nicht, diese neu einzulesen (source ~/.bashrc). Wer sich nicht sämtliche ls-Optionen merken kann, definiert so für die am häufigsten gebrauchten Befehle einfach neue Abkürzungen – das ist nicht nur für Tippfaule gut.
Glossar
Pfad
Dateien und Verzeichnisse liegen hierarchisch in einer Baumstruktur und lassen sich absolut oder relativ ansprechen. Als absolut bezeichnet man dabei den Weg, der vom Wurzelverzeichnis ("/") ausgehend alle "zu betretenden" Verzeichnisse nennt, also z. B. "/home/huhn/linux-user/inhalt.txt". Ein relativer Pfad beginnt immer im aktuellen Verzeichnis. Das übergeordnete Verzeichnis spricht man dabei über zwei Punkte ("..") an.
Hardlink
Sind zwei Dateien als Hardlinks miteinander "verbunden", dann zeigen ihre Einträge in den jeweiligen Verzeichnissen auf den gleichen Inode. Zwei hart verlinkte Dateien sind also tatsächlich eine einzige Datei, die an zwei Stellen im Inhaltsverzeichnis auftaucht.
Gerätedatei
Geräte werden unter Linux als Dateien im Verzeichnis "/dev" repräsentiert. Dabei wird zeichenweise auf so genannte zeichenorientierte Geräte ("character devices", z. B. "/dev/tty0" als erste virtuelle Konsole) zugegriffen, "block devices" (z. B. "/dev/hda" als erste IDE-Festplatte) liest und schreibt man blockweise.



