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.