Solaris Handbuch für Fortgeschrittene Benutzer

3.4 Verzeichnisbefehle

Sie wissen jetzt, wie man Dateien auflistet, kopiert, umbenennt und löscht. Wichtig ist aber auch, daß Sie diese Dateien möglichst rasch finden. Deshalb muß das Dateisystem auf eine logische und sinnvolle Weise strukturiert sein. Diese Strukturierung, die über Verzeichnisse erreicht wird, bildet das Thema der folgenden Abschnitte.

3.4.1 Verzeichnishierarchie

Dateien werden in Verzeichnissen abgelegt, die wiederum Teil anderer, übergeordneter Verzeichnisse sind. Daraus ergibt sich eine Hierarchie, an deren Spitze das Root-Verzeichnis steht. Dieses Verzeichnis wird durch das Zeichen / repräsentiert.

Abbildung 3-1 zeigt, daß jedes Verzeichnis weitere Verzeichnisse enthalten kann. Die einzelnen Verzeichnisebenen werden ebenfalls durch das Zeichen / getrennt. Das Root-Verzeichnis / enthält unter anderem die Unterverzeichnisse /usr, /bin, /home und /lib. Das Unterverzeichnis /home enthält die Arbeitsverzeichnisse der Benutzer: /user1, /user2 und /user3.

Um auf ein Verzeichnis (und die darin enthaltenen Dateien) zu verweisen, geben Sie die Namen der direkt übergeordneten Verzeichnisse an. Ein solcher Verweis wird als Pfadname bezeichnet. Der Pfadname zu dem Verzeichnis /user3 lautet also /home/user3. Der erste Schrägstrich steht für das Root-Verzeichnis, danach folgt der Name des übergeordneten Verzeichnisses home, ein zweiter Schrägstrich trennt diese Verzeichnisebene von der nächsten, und zum Schluß kommt der Name des gesuchten Verzeichnisses, user3.

Abbildung 3-1 Struktur des Dateisystems

Graphic

Innerhalb eines Verzeichnisses darf jeder Dateiname (dazu zählen auch die Namen der Unterverzeichnisse) nur einmal vorkommen. In anderen Verzeichnissen kann er sich dagegen wiederholen. Die Verzeichnisse /usr/lib und /lib in unserem Beispiel können also nebeneinander existieren, weil sie unterschiedliche Pfadnamen haben.

Der Standort einer Datei innerhalb des Dateisystems wird ebenfalls über einen Pfadnamen angegeben. Nehmen wir an, das Verzeichnis /home/user2 enthält eine Datei namens bericht5. Der Pfadname dieser Datei lautet demnach /home/user2/bericht5, d. h. die Datei befindet sich im Verzeichnis user2, einem Unterverzeichnis von home, das wiederum ein Unterverzeichnis des Root-Verzeichnisses (/) ist.

Verzeichnisse können sowohl Unterverzeichnisse als auch Dateien enthalten.

3.4.2 Aktuelles Verzeichnis anzeigen (pwd)

Mit dem Befehl pwd können Sie feststellen, an welcher Stelle innerhalb der Verzeichnisstruktur Sie sich gerade befinden. Dieses Verzeichnis wird als aktuelles Verzeichnis oder Arbeitsverzeichnis bezeichnet. Zum Beispiel:

$ pwd

/home/user1

3.4.3 Home-Verzeichnis

Der Systemverwalter legt für jeden Benutzer ein Home-Verzeichnis an, in dem die Arbeitsdateien dieses Benutzers gespeichert werden. Wenn Sie OpenWindows starten und eine Kommando- oder UNIX-Shell öffnen, befinden Sie sich automatisch in Ihrem Home-Verzeichnis.

3.4.4 Aktuelles Verzeichnis wechseln (cd)

Mit dem Befehl cd wechseln Sie in ein anderes Verzeichnis. Zum Beispiel:

$ cd /usr/lib

$ pwd

/usr/lib

Wenn Sie cd ohne Verzeichnisnamen eingeben, kehren Sie in Ihr Home-Verzeichnis zurück. Im folgenden Beispiel heißt das Home-Verzeichnis - /home/user1:

$ cd

$ pwd

/home/user1

In der C-Shell können Sie das Zeichen ~ (Tilde) als Abkürzung für Ihr Home-Verzeichnis verwenden, statt den vollständigen Pfadnamen einzugeben. Mit folgendem Befehl würden Sie also in das Unterverzeichnis musik in Ihrem Home-Verzeichnis wechseln:

beispiel% cd ~/musik

Sie können mit der Tilde auch das Home-Verzeichnis eines anderen Benutzers angeben. Zum Beispiel:

beispiel% cd ~benutzername

Dabei ersetzen Sie benutzername durch den Login-Namen des Benutzers, zu dessen Home-Verzeichnis Sie wechseln wollen.


Hinweis -

In der Bourne-Shell ist die Verwendung von ~ als Abkürzung für das Home-Verzeichnis nicht möglich.


Wenn Sie mit einer Bourne-Shell arbeiten und Ihr Systemverwalter das System entsprechend konfiguriert hat, können Sie mit $home das Home-Verzeichnis angeben. Zum Beispiel:

$ $home/musik

Auch in diesem Fall können Sie sowohl das eigene Home-Verzeichnis wie auch die Home-Verzeichnisse anderer Benutzer angeben:

$ $home benutzername

benutzername wird durch den Login-Namen des Benutzers ersetzt, dem das Verzeichnis gehört.

Das einem Verzeichnis direkt übergeordnete Verzeichnis kann auch mit dem Symbol .. (Punkt-Punkt") angegeben werden. Im folgenden Beispiel wechseln Sie aus dem Verzeichnis /home/user1 in das darüberliegende Verzeichnis /home:

$ pwd

/home/user1

$ cd ..

$ pwd

/home

Nehmen wir an, Ihr Home-Verzeichnis heißt /home/user1, und Sie möchten auf Dateien im Verzeichnis /home/user2 zugreifen. Um in dieses Verzeichnis zu wechseln, geben Sie einfach folgendes ein (den Befehl pwd können Sie auch weglassen, er soll nur zeigen, wo Sie sich vor und nach der Eingabe von cd ../user2 befinden):

$ pwd

/home/user1

$ cd ../user2

$ pwd

/home/user2

Bei dieser Methode brauchen Sie also nicht den gesamten Pfadnamen (/home/user2) einzugebenVerzeichnisse:Arbeitsverzeichnis drucken.

3.4.5 Verzeichnisse anlegen (mkdir)

Um ein neues Verzeichnis anzulegen, geben Sie den Befehl mkdir und den gewünschten Verzeichnisnamen ein:

$ mkdir obst

$ cd obst

$ mkdir aprikose

$ cd aprikose

$ pwd

/home/user2/obst/aprikose

3.4.6 Relative Pfadnamen

Der vollständige Pfadname eines Verzeichnisses oder einer Datei beschreibt die gesamte Verzeichnisstruktur zwischen diesem Verzeichnis oder dieser Datei und dem Root-Verzeichnis (/). Häufig genügt es jedoch, den Pfadnamen mit dem aktuellen Verzeichnis beginnen zu lassen. Ein solcher Pfadname wird als relativer Pfadname bezeichnet, weil er den Standort des Verzeichnisses (oder der Datei) relativ zum Arbeitsverzeichnis angibt.

Wenn Sie in ein Unterverzeichnis wechseln wollen, brauchen Sie nicht den vollständigen Pfadnamen, sondern nur den Verzeichnisnamen anzugeben. Im vorigen Beispiel wurde in dem Befehl cd obst der relative Pfadname des Verzeichnisses obst verwendet. Der vollständige Pfadname würde dagegen /home/user2/obst lauten.

Legen Sie in Ihrem Home-Verzeichnis weitere Verzeichnisse und Unterverzeichnisse an, und bewegen Sie sich mit Hilfe relativer und vollständiger Pfadnamen durch die Verzeichnisstruktur. Überprüfen Sie dabei jedesmal Ihren aktuellen Standort mit dem Befehl pwd.

3.4.7 Verzeichnisse übertragen und umbenennen (mv)

Um ein Verzeichnis umzubenennen, übertragen" Sie es mit dem Befehl mv in einen anderen Namen:

$ pwd

/home/user2/obst

$ ls

aprikose

$ mv aprikose mango

$ ls

mango

Mit diesem Befehl können Sie ein Verzeichnis auch in ein anderes Verzeichnis übertragen:

$ pwd

/home/user2/obst

$ ls

mango

$ cd ..

$ mkdir obst2

$ cd obst

$ mv mango ../obst2

$ ls ../obst2

mango

In diesem Beispiel erstellen Sie ein neues Verzeichnis namens obst2 und übertragen das Unterverzeichnis mango mit mv aus dem Verzeichnis obst in das neue Verzeichnis.

3.4.8 Verzeichnisse kopieren (cp -r)

Mit dem Befehl cp -r kopieren Sie ein Verzeichnis und die darin enthaltenen Dateien:

$ cp -r obst obst3

$

In diesem Beispiel kopieren Sie alle Dateien und Unterverzeichnisse im Verzeichnis obst in ein neues Verzeichnis namens obst3. Die Option -r gibt an, daß es sich um eine rekursive Kopie handelt. Wenn Sie versuchen, ein Verzeichnis ohne diese Option zu kopieren, erhalten Sie eine Fehlermeldung.

3.4.9 Verzeichnisse löschen (rmdir)

Um ein leeres Verzeichnis zu löschen, geben Sie den Befehl rmdir und den Verzeichnisnamen ein:

$ rmdir obst3

$ 

Enthält das Verzeichnis noch Dateien oder Unterverzeichnisse, wird es nicht gelöscht.

Wenn Sie ein Verzeichnis mit seinem gesamten Inhalt löschen wollen, geben Sie den Befehl rm mit der Option -r (für rekursiv) ein. Zum Beispiel:

$ rm -r obst3

$


Achtung - Achtung -

GraphicVerzeichnisse, die Sie mit dem Befehl rmdir löschen, und mit rm -r gelöschte Verzeichnisinhalte können nicht wiederhergestellt werden.