Anzeigen von Verzeichnisinhalten mit ls

Nachdem Sie nun wissen, wie Sie in das gew�nschte Verzeichnis wechseln k�nnen, soll der Inhalt der Verzeichnisse auf dem Bildschirm angezeigt werden.

Zun�chst muss jedoch sichergestellt werden, dass sich in Ihrem Anmeldeverzeichnis auch Dateien befinden, die Sie dann anzeigen k�nnen.

Zun�chst k�nnen Sie eine leere Datei erstellen. Hierzu dient ein Dienstprogramm mit der Bezeichnung touch, das Sie vom Shell Prompt aus starten k�nnen. Geben Sie hierzu Folgendes ein:

touch foo.bar
	  

Somit haben Sie in Ihrem Anmeldeverzeichnis eine leere Datei mit der Bezeichnung foo.bar erstellt. Diese Datei werden Sie in wenigen Minuten n�her kennen lernen.

Dabei soll auch gleich ein neues Verzeichnis mit dem Befehl mkdir erstellt werden.

Geben Sie am Prompt hierzu Folgendes ein:

mkdir tigger
	  

Nun haben Sie ein Verzeichnis namens tigger in Ihrem Anmeldeverzeichnis erstellt. Vom Root-Verzeichnis aus betrachtet, lautet der absolute Pfadname Ihres neuen Verzeichnisses /home/ihraccount/tigger. Ihr Verzeichnis ist ein �bergeordnetes Verzeichnis von tigger. (Weitere Informationen �ber das Erstellen - und L�schen - von Dateien und Verzeichnissen finden Sie in Kapitel 16.)

Und nun k�nnen Sie loslegen.

Unter dem Betriebssystem DOS k�nnen Sie mit dem Befehl dir den Inhalt von Verzeichnissen anzeigen.

Ein �hnlicher Befehl steht Ihnen auch unter Linux zur Verf�gung - nur mit einigen wichtigen Ausnahmen.

In Linux wird mit dir der Inhalt von Verzeichnissen nicht vollst�ndig angezeigt. Zudem steht Ihnen mit diesem Befehl nicht die gleiche Flexibilit�t und Leistungsf�higkeit wie bei dem Befehl ls zur Verf�gung, der f�r diesen Zweck wesentlich geeigneter ist.

Geben Sie beispielsweise in Ihrem Anmeldeverzeichnis folgenden Befehl ein:

dir
	  

Geben Sie nun im gleichen XTerm-Fenster Folgendes ein:

ls
	  

Die Anzeige auf dem Bildschirm ist identisch (siehe Abbildung 15-5). Neben anderen Angaben sehen Sie Ihre neue Datei (foo.bar) und das neue Verzeichnis tigger.

Abbildung 15-5 Die Befehle dir und ls scheinen �hnliche Funktionen zu bieten

Aber hier enden die �hnlichkeiten auch schon. Auch wenn dir den Inhalt Ihres Verzeichnisses anzeigt, sehen Sie doch nicht alles. Selbst wenn Sie den Befehl ls ohne weitere Angaben verwenden, werden nicht alle Dateien in Ihrem Verzeichnis angezeigt. Um wirklich alle Dateien und Unterverzeichnisse in einem Verzeichnis anzuzeigen, m�ssen Sie den Befehl in Verbindung mit bestimmten Optionen eingeben.

Geben Sie beispielsweise im gleichen Fenster, in dem Sie zuvor die Befehle dir und ls eingegeben haben, Folgendes ein:

ls -a
	  

Der Unterschied ist nicht zu �bersehen. Als Sie die Option -a hinzugef�gt haben, wurde dem System die Information �bermittelt, dass Sie alle Dateien im Verzeichnis auflisten wollten (siehe Abbildung 15-6).

In der Tat stehen Ihnen zahlreiche Optionen f�r den Befehl ls zur Verf�gung.

TipLesen Sie die man-Seite zu ls
 

Wenn Sie sich �ber alle Optionen zum Befehl ls informieren m�chten, k�nnen Sie durch Eingabe des Befehls man ls am Shell Prompt die zugeh�rige man-Seite anzeigen. Wenn Sie die man-Seite drucken m�chten, geben Sie am Prompt man ls | col -b | lpr ein.

Wof�r ben�tigen Sie eine solche Vielzahl an Optionen? Einfach deshalb, weil Sie dadurch genau festlegen k�nnen, welche Informationen Sie anzeigen m�chten. Beispielsweise k�nnen Sie festlegen, auf welche Weise Dateien angezeigt werden oder die Berechtigungen f�r den Zugriff auf Dateien ausgeben lassen.

Abbildung 15-6 Der Befehl ls mit der Option -a

Als Sie ls -a eingegeben haben, ist Ihnen wahrscheinlich aufgefallen, dass der Name einiger Dateien mit einem Punkt beginnt. Diese Dateien werden als versteckte Dateien oder manchmal auch als Punktdateien bezeichnet.

Bei versteckten Dateien handelt es sich meist um Konfigurationsdateien, in denen Einstellungen f�r Programme, Windowmanager, Shells usw. festgelegt werden. Diese Dateien werden versteckt, um versehentliche �nderungen durch den Benutzer zu vermeiden. Au�erdem werden Sie selten nach diesen Dateien suchen wollen, wenn Sie sich den Inhalt von Verzeichnissen anzeigen lassen. Somit wird die Bildschirmanzeige �bersichtlicher, wenn diese Dateien verborgen werden.

Alle Dateien, deren Dateiname mit einem Punkt (.) beginnt, sind versteckte Dateien. Diese Dateien werden mit dem Befehl ls nicht aufgelistet.

Das Anzeigen aller Dateien kann Ihnen eine Vielzahl an Detailinformationen vermitteln, doch durch das Angeben mehrerer Optionen k�nnen Sie gezielt die gerade ben�tigten Informationen anzeigen.

Wenn Sie die Gr��e einer Datei oder eines Verzeichnisses anzeigen m�chten, das zugeh�rige Erstellungsdatum oder weitere Angaben, k�nnen Sie die Option "long" (-l) an den Befehl ls -a anh�ngen.

Dies wollen wir gleich mal ausprobieren. Typ:

ls -al
	  

Nun werden schon wesentlich mehr Details angezeigt. Sie k�nnen sehen, wann der letzte Zugriff auf die Datei erfolgt ist, wie gro� sie ist, wer ihr Besitzer ist und wer auf die Datei zugreifen darf usw.

Sie m�ssen sich auch nicht in dem Verzeichnis befinden, dessen Inhalt Sie anzeigen m�chten.

Schauen wir uns doch an dieser Stelle den Inhalt des Verzeichnisses /etc an. Hierzu m�ssen Sie Folgendes eingeben:

ls -al /etc
	  

Daraufhin werden umfassende Informationen �ber den Inhalt des Verzeichnisses /etc angezeigt.

Wenn Sie die Liste in verschiedenen Farben anzeigen m�chten, m�ssen Sie lediglich die Option --color anh�ngen.

ls -al --color /etc
	  

Mit --color wird jedoch nicht nur Ihr Bildschirm etwas bunter - Sie k�nnen anhand der verwendeten Farben auch erkennen, welche Dateitypen sich in Ihrem Verzeichnis befinden. Beispielsweise werden Verzeichnisse blau angezeigt, Programmdateien hingegen gr�n usw.

Wenn Ihnen diese Art der Anzeige gef�llt, k�nnen Sie sie mit der folgenden Methode standardm��ig verwenden. Im Wesentlichen wird hierzu eine weitere Zeile in die Datei .bashrc im Anmeldeverzeichnis eingef�gt.

Die Datei .bashrc wird von Ihrer Shell bei der Anmeldung verwendet (ein Beispiel f�r die Datei .bashrc finden Sie in Abbildung 15-7).

Bevor wir jedoch fortfahren...

Abbildung 15-7 Die Datei .bashrc

Beachten Sie, dass alle �nderungen an Konfigurationsdateien zu schweren Problemen mit Ihrem System f�hren k�nnen, wenn Ihnen beim �ndern ein Fehler unterl�uft und Sie �ber keine Sicherungskopie dieser Datei verf�gen.

Wenn Sie eine Sicherungskopie anfertigen m�chten, m�ssen Sie zuerst sicherstellen, dass Sie sich in Ihrem Anmeldeverzeichnis befinden. Geben Sie dann in einem XTerm-Fenster Folgendes ein:

cd
	  

Dadurch k�nnen Sie in Ihr Anmeldeverzeichnis wechseln. Kopieren Sie dann die Datei .bashrc, und speichern Sie sie im gleichen Verzeichnis unter einem anderen Namen wie .bashrc2 ab.

cp .bashrc .bashrc2
	  

Wenn Sie den obigen Befehl eingeben, teilen Sie Ihrem System gewisserma�en mit, dass die Datei .bashrc kopiert und die Kopie unter der Bezeichnung .bashrc2 gespeichert werden soll.

Nun verf�gen Sie �ber eine Sicherungskopie der unver�nderten Datei .bashrc in Ihrem Anmeldeverzeichnis. Wenn Ihnen beim �ndern der Datei ein Fehler unterl�uft oder andere Probleme auftreten, k�nnen Sie die Datei .bashrc durch folgenden Befehl wieder ersetzen:

cp .bashrc2 .bashrc
	  

Diesen Befehl geben Sie einfach am Shell Prompt ein.

Wenn Sie diesen Befehl eingeben, bedeutet dies, dass eine Kopie der Datei .bashrc2 angefertigt und diese Kopie als .bashrc bezeichnet werden soll. Der Befehl zum Kopieren �berschreibt in diesem Fall die urspr�ngliche Datei .bashrc. Die Kopie der urspr�nglichen (und nicht ver�nderten) Datei .bashrc2 behalten Sie auch weiterhin unter der Bezeichnung .bashrc2.

Mit dem n�tigen Vorwissen k�nnen wir jetzt .bashrc mit Pico �ffnen, bei dem es sich um einen einfachen Texteditor handelt. (Ein Texteditor ist ein kleines Dienstprogramm f�r das Erstellen oder Bearbeiten von Textdateien.) Geben Sie in einem XTerm-Fenster Folgendes ein:

pico .bashrc
	  

Nun sollte Folgendes auf dem Bildschirm angezeigt werden:

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
       . /etc/bashrc
fi
	  

Die Datei ist also ziemlich kurz. Die Gatterzeichen (#) kennzeichnen Kommentare. Der gesamte darauf folgende Text wird von der Shell ignoriert und ist f�r Benutzer vorgesehen, die diese Dateien bearbeiten oder �ndern m�chten.

Bewegen Sie Ihren Cursor unter die Zeile #User specific aliases and functions, und geben Sie dann ein:

alias ls="ls -al --color"
	  

Die vollst�ndige Datei sollte jetzt wie folgt aussehen:

# .bashrc
# User specific aliases and functions alias ls="ls -al --color"
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
	  

Siehe Abbildung 15-8 f�r ein Beispiel in Pico.

Abbildung 15-8 Hinzuf�gen eines Alias f�r ls in der Datei .bashrc

Pr�fen Sie Ihre Eingabe auf Tippfehler. Wenn Sie mit den �nderungen zufrieden sind, k�nnen Sie den Editor durch Dr�cken von Strg und X beenden. An der Unterseite Ihres Editorbildschirms wird dann folgende Meldung angezeigt:

Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES)?
	  

Dr�cken Sie die Taste Y f�r "Ja". Nun wird eine weitere Meldung angezeigt:

File Name to write: .bashrc
	  

Wenn Sie nun die Eingabetaste dr�cken, werden die �nderungen in der Datei .bashrc gespeichert.

Die von Ihnen eingegebenen �nderungen werden erst wirksam, wenn Sie Ihr aktuelles XTerm-Fenster schlie�en und ein neues Fenster �ffnen. In diesem neuen XTerm-Fenster k�nnen Sie nun sehen, dass Ihre neuen Einstellungen ber�cksichtigt werden.

In der folgenden Liste erhalten Sie einen kurzen �berblick �ber einige h�ufig verwendete Optionen bei ls. Wenn Sie die gesamte Liste mit Optionen anzeigen m�chten, k�nnen Sie f�r ls die zugeh�rige man-Seite mit dem Befehl man ls aufrufen.

Etwas sp�ter in diesem Kapitel, wenn wir Pipes und E/A-Umleitung behandeln, werden Sie erfahren, mit welchen weiteren Methoden das Anzeigen des Inhalts von Verzeichnissen m�glich ist.

TipZusammenfassung
 

Um den Inhalt eines Verzeichnisses anzuzeigen, geben Sie ls am Shell Prompt ein, mit ls -a wird der gesamte Inhalt eines Verzeichnisses angezeigt, und mit ls -a --color wird der Inhalt durch die Verwendung verschiedener Farben �bersichtlich in Kategorien unterteilt.