Dateisystemoperationen unter LINUX

Dieses Kapitel stellt die wichtigsten Dateisystemoperationen des LINUX-Betriebssystems aus der Sicht des Endbenutzers vor. Es handelt sich dementsprechend um eine Auswahl von Befehlen, welche vom LINUX-Kommandointerpreter ausgeführt werden können.

Absolute und relative Datei- und Verzeichnisnamen
Verzeichnisse erstellen
Verzeichnisse löschen
Verzeichnis(inhalte) anzeigen
Verzeichnisse kopieren
Verzeichnisse verschieben
Verzeichnisse verknüpfen
Verzeichnis(eigenschaften) ändern
Verzeichnisse umbenennen
Dateien erstellen
Dateien löschen
Datei(inhalte) anzeigen
Dateien kopieren
Dateien verschieben
Dateien verknüpfen
Datei(eigenschaften) ändern
Dateien umbenennen
Weitere Befehle
Platzhalter in Verzeichnisnamen


Absolute und relative Datei- und Verzeichnisnamen

Kommandozeilenorientierte Umgebung

Wie DOS, bieten LINUX-Systeme seit jeher die Möglichkeit in einer kommandozeilenorientierten Umgebung zu arbeiten:

Auch unter LINUX betreffen viele vom Benutzer eingegebenen Befehle das Dateisystem und er muss Verzeichnis- oder Dateinamen benutzen um Verzeichnisse und Dateien bezeichnen zu können. Verzeichnis- und Dateinamen können wiederum absolut oder relativ sein. Um den Unterschied zu DOS zu verdeutlichen, nehmen wir folgendes Beispiel eines Verzeichnisbaumes:

Abbildung 1: Beispiel eines Verzeichnisbaumes

Geräte- und dateiorientierte Umgebungen

Bevor die Regeln der LINUX-Namensbildung vorgestellt werden können, muss noch ein grundlegender Unterschied zwischen DOS und LINUX hervorgehoben werden: Im Gegensatz zum geräteorientierten DOS, ist LINUX dateiorientiert.

In einer geräteorienterten Umgebung, erkennt der Benutzer am Computer zuerst verschiedene logische Laufwerke (unter DOS, zum Beispiel, die logischen Laufwerke „A:&rdquo, „B:&rdquo, „C:&rdquo und so weiter). und auf jedem dieser Laufwerke dann, einen Verzeichnisbaum.

In einer dateiorienterten Umgebung, sind die Laufwerke für den Benutzer nicht sofort erkennbar. Er erkennt einen einzigen Verzeichnisbaum und der Inhalt aller am Rechner angeschlossenen Laufwerke findet sich irgendwo in diesem Verzeichnisbaum wieder. Der LINUX-Verzeichnisbaum wird folgendermaßen aus den Verzeichnisbäumen der einzelnen Laufwerke aufgebaut:

Der Systemverwalter bestimmt das Wurzellaufwerk und welches Laufwerk wo montiert wird. Der einfache Benutzer hat darauf keinen Einfluss und benötigt, im allgemeinen, keine Kenntnis über diesen Aufbau.

Absolute Datei- und Verzeichnisnamen

Ein absoluter Verzeichnis- oder Dateiname beschreibt den genauen Standort des Verzeichnisses oder der Datei im Verzeichnisbaum des LINUX-Systems. Der folgende Name:

/V3/V5

bezeichnet das Verzeichnis V5, welches sich im Unterverzeichnis V3 des Wurzelverzeichnisses befindet. Das Wurzelverzeichnis (V1 in der Abbildung) wird unter LINUX mit dem Schrägstrich „/” bezeichnet (der erste Schrägstrich). Derselbe Schrägstrich wird benutzt um die aufeinander folgenden Verzeichnisnamen zu trennen (der zweite Schrägstrich). Der Name erlaubt keinen Rückschluss, ob es sich bei dem bezeichneten Objekt um ein Verzeichnis oder eine Datei handelt.

Absolute Namen können schnell sehr lang werden da die Datei- und Verzeichnisnamen üblicherweise aus mehreren Buchstaben bestehen und die Verzeichnisse über zahlreiche Ebenen verschachtelt sein können. Daher gibt es so genannte relative Verzeichnis- oder Dateinamen. Diese Namen sind relativ (daher die Bezeichnung) zu einem bestimmten Arbeitsverzeichnis.

Arbeitsverzeichnisse

Nachdem er seinen Rechner unter LINUX gestartet und sich angemeldet hat, arbeitet der Benutzer in einem bestimmten Arbeitsverzeichnis. Es handelt sich dabei normalerweise um das persönliche Heimverzeichnis des Benutzers (welches vom Systemverwalter festgelegt wird). Während der Arbeit am Computer, kann der Benutzer jedoch das Arbeitsverzeichnis jederzeit ändern.

Um das Arbeitsverzeichnis zu ändern, gibt es den Befehl „cd”.

Wird der Befehl ohne Parameter benutzt, wird das Heimverzeichnis des Benutzers zum neuen Arbeitsverzeichnis:

cd

Dies ist vor allem praktisch wenn der Benutzer nicht mehr genau weiss wo sich sein Heimverzeichnis befindet. Egal wo er sich im Verzeichnisbaum befindet, mit diesem Befehl kommt er sicher „nach Hause”.

Wird der Befehl jedoch mit einem Verzeichnisnamen benutzt, ändert er das Arbeitsverzeichnis. Der Parameter gibt das neue Arbeitsverzeichnis an:

cd /V3/V4

In unserem Beispiel handelt es sich um ein Verzeichnis, welches mit einem absoluten Verzeichnisnamen bezeichnet wurde, das Verzeichnis V4 im Unterverzeichnis V3 des Wurzelverzeichnisses. Nach der Befehlsausführung wäre dies das neue Arbeitsverzeichnis.

Um das aktuelle Arbeitsverzeichnis anzuzeigen, gibt es den Befehl „pwd”.

Es bleibt zu bemerken, dass, im Gegensatz zu DOS, LINUX zwischen Groß- und Kleinschreibung unterscheidet und die meisten Befehle klein geschrieben werden.

Relative Datei- und Verzeichnisnamen

Relative Datei- und Verzeichnisnamen sind relativ zum Arbeitsverzeichnis.

Der folgende Name:

V3/V4

bezeichnet das Verzeichnis V4 im Unterverzeichnis V3 des Arbeitsverzeichnisses.

Zwei relative Verzeichnisnamen sind noch erwähnenswert:

.

bezeichnet das Arbeitsverzeichnis selbst, und:

..

bezeichnet das Vaterverzeichnis des Arbeitsverzeichnisses.

Der folgende Name:

../V3/V4

bezeichnet also das Verzeichnis V4 im Unterverzeichnis V3 des Vaterverzeichnisses des Arbeitsverzeichnisses.

Verzeichnisse erstellen

Nachdem die Namensregelung erläutert wurde, können wir uns jetzt den Operationen auf den Dateisystemobjekten zuwenden.

Verzeichnisse kann der Benutzer mit dem Befehl „mkdir” erstellen.

Der Befehl:

mkdir V6 V7

erstellt die Verzeichnisse V6 und V7 im Arbeitsverzeichnis.

Der Befehl:

mkdir /V3/V4/V6

erstellt das Verzeichnis V6 im Unterverzeichnis V4 des Unterverzeichnisses V3 des Wurzelverzeichnisses.

Verzeichnisse löschen

Wird ein Verzeichnis nicht mehr benötigt, kann der Benutzer es mit dem Befehl „rmdir” löschen. Das Verzeichnis muss jedoch leer sein, es darf also weder Unterverzeichnisse noch Dateien enthalten. Will man ein Verzeichnis mit allen Unterverzeichnissen und Dateien löschen, kann man den Befehl „rm” mit der Option „-r” (rekursiv) benutzen.

Der Befehl:

rmdir V6

löscht das Verzeichnis V6 im Arbeitsverzeichnis, falls es leer ist.

Der Befehl:

rm -r /V3

löscht das gesamte Verzeichnis V3 im Wurzelverzeichnis.

Verzeichnis(inhalte) anzeigen

Den Inhalt (Unterverzeichnisse und Dateien) eines Verzeichnisses zeigt man mit dem Befehl „ls” an.

Der Befehl:

ls /V3/V4

zeigt den Inhalt des Verzeichnisses V4 im Unterverzeichnis V3 des Wurzelverzeichnisses ohne weitere Details an. Möchte man detaillierte Informationen, kann man die Option „-l” benutzen.

Der Befehl:

ls -l /V3/V4

zeigt den Inhalt des Verzeichnisses V4 im Unterverzeichnis V3 des Wurzelverzeichnisses mit detaillierten Informationen (Zugriffsrechte, Besitzer, Gruppe, Größe, Änderungsdatum und so weiter) an.

Verzeichnisse kopieren

Ganze Verzeichnisse (mit dem darunterhängenden Unterverzeichnisbaum) kann man mit dem Befehl „cp” und der Option „-r” kopieren.

Der Befehl:

cp -r /V3 .

kopiert das gesamte Unterverzeichnis V3 des Wurzelverzeichnisses in das Arbeitsverzeichnis.

Verzeichnisse verschieben

Ganze Verzeichnisse (mit dem darunterhängenden Unterverzeichnisbaum) kann man mit dem Befehl „mv” verschieben.

Der Befehl:

mv /V3 .

verschiebt das gesamte Unterverzeichnis V3 des Wurzelverzeichnisses in das Arbeitsverzeichnis.

Verzeichnisse verknüpfen

Verzeichnisse kann man mit dem Befehl „ln” verknüpfen. LINUX unterscheidet harte Verknüpfungen und symbolische Verknüpfungen. Benutzt man den Befehl ohne die Option „-s”, wird eine harte Verknüpfung erstellt. Mit der Option „-s”, hingegen, erstellt der Befehl eine symbolische Verknüpfung. Verzeichnisse können nur symbolisch verknüpft werden. Dateien, hingegen, können sowohl symbolisch als such hart verknüpft werden. Der Unterschied macht sich hauptsächlich beim Löschen eines verknüpften Objekts bemerkbar. Bei harten Verknüpfungen wird der Inhalt einer verknüpften Datei auf der Festplatte erst gelöscht, wenn die letzte harte Verknüpfung gelöscht wird. Bei symbolischen Verknüpfungen wird der Inhalt des verknüpften Objekts auf der Festplatte jedoch sofort gelöscht. In diesem Fall es kann also durchaus vorkommen, dass eine symbolische Verknüpfung ins Leere zeigt, da das verknüpfte Objekt nicht mehr existiert.

Der Befehl:

ln -s /V3/V5 V6

verknüpft das Verzeichnis V6 im Arbeitsverzeichnis symbolisch mit dem Unterverzeichnis V5 im Unterverzeichnis V3 des Wurzelverzeichnisses.

Verzeichnis(eigenschaften) ändern

Der Benutzer kann die Verzeichniseigenschaften, genauer die Zugriffsrechte, mit dem Befehl „chmod” ändern. Die Zugriffsrechte werden unter LINUX für 3 Benutzerkategorien festgelegt:

Für jede Benutzerkategorie werden folgende Zugriffsrechte festgelegt:

Der Befehl:

chmod ugo+r V4

gibt dem Besitzer, der Gruppe des Besitzers sowie allen anderen Benutzern des Systems das Leserecht auf dem Verzeichnis V4 im Arbeitsverzeichnis.

Der Befehl:

chmod o-rwx /V3/V5

nimmt allen Benutzern, welche nicht Besitzer sind oder zur Gruppe des Besitzers gehören, das Lese-, Schreib- und Ausführungsrecht auf dem Unterverzeichnis V5 des Unterverzeichnisses V3 des Wurzelverzeichnisses.

Verzeichnisse umbenennen

Um ein Verzeichnis umzubennen kann man den Befehl „mv” benutzen.

Der Befehl:

mv V4 V6

ändert den Namen des Unterverzeichnisses V4 des Arbeitsverzeichnisses um in V6.

Dateien erstellen

Um eine Datei zu erstellen, braucht der Benutzer eine Anwendung (Textverarbeitung, Tabellenkalkulation, ...). Einfache Textdateien können zum Beispiel mit einem Texteditor erstellt werden. LINUX bietet hierzu mehrere Texteditoren (wie zum Beispiel „vi” oder „pico”) an, bei welchen es sich um textorientierte Vollbildschirmanwendungen handelt.

Der Befehl:

pico D1

öffnet die Datei D1 zur Edition.

Dateien löschen

Wird eine Datei nicht mehr benötigt, kann der Benutzer sie mit dem Befehl „rm” löschen.

Der Befehl:

rm /V2/D2

löscht die Datei D2 im Unterverzeichnis V2 des Wurzelverzeichnisses.

Datei(inhalte) anzeigen

Den Inhalt einer Datei (nur Text) zeigt man mit dem Befehl „more” an.

Der Befehl:

more /D1

zeigt den Inhalt der Datei D1 im Wurzelverzeichnis an.

Dateien kopieren

Eine Datei kann man mit dem Befehl „cp” kopieren.

Der Befehl:

cp D2 /

kopiert die Datei D2 im Arbeitsverzeichnis in das Wurzelverzeichnis.

Dateien verschieben

Dateien können mit dem Befehl „mv” verschoben werden.

Der Befehl:

mv D2 ..

verschiebt die Datei D2 im Arbeitsverzeichnis in das Vaterverzeichnis des Arbeitsverzeichnisses.

Dateien verknüpfen

Dateien kann man mit dem Befehl „ln” verknüpfen. Im Gegensatz zu Verzeichnissen können Dateien sowohl symbolisch als auch hart verknüpft werden.

Der Befehl:

ln -s /D1 /V2/D6

verknüpft die Datei D6 im Unterverzeichnis V2 des Wurzelverzeichnisses symbolisch mit der Datei D1 im Arbeitsverzeichnis.

Der Befehl:

ln ../D2 D7

verknüpft die Datei D7 im Arbeitsverzeichnis hart mit der Datei D2 im Vaterverzeichnis des Arbeitsverzeichnisses.

Datei(eigenschaften) ändern

Der Benutzer kann die Dateieigenschaften mit dem Befehl „chmod” ändern. Die Benutzerkategorien und Leserechte sind dieselben wie die der Verzeichnisse.

Der Befehl:

chmod ugo+rwx D3

gibt allen Benutzern Lese-, Schreib- und Ausführungsrechte auf der Datei D3 im Arbeitsverzeichnis.

Der Befehl:

chmod o-rwx D3

nimmt allen Benutzern, ausser dem Besitzer und den Mitgliedern seiner Gruppe, die Lese-, Schreib- und Ausführungsrechte auf der Datei D3 im Arbeitsverzeichnis.

Dateien umbenennen

Um eine Datei umzubennen kann man den Befehl „mv” benutzen.

Der Befehl:

mv /D1 /D6

ändert den Namen der Datei D1 im Wurzelverzeichnis um in D6.

Weitere Befehle

LINUX bietet noch eine Fülle anderer Befehle. Wir heben zwei davon noch besonders hervor, da sie eine wertvolle Hilfe bei der Suche nach detaillierten Informationen über die LINUX-Befehle sind. In der Tat ist das gesamte LINUX-Benutzerhandbuch am Rechner verfügbar. Man findet darin eine genaue Beschreibung aller Befehle mit ihren Optionen sowie kommentierte Beispiele.

Jeder LINUX-Befehl hat im Benutzerhandbuch eine Kurzbeschreibung. Um eine Liste aller Befehle, deren Kurzbeschreibung ein bestimmtes Schlüsselwort enthält, anzuzeigen, benutzt man den Befehl „apropos”.

Der Befehl:

apropos file

zeigt alle Befehle an, in deren Kurzbeschreibung das Wort „file” vorkommt.

Um die ausführliche Beschreibung eines LINUX-Befehls anzuzeigen, benutzt man den Befehl „man”.

Der Befehl:

man mv

zeigt den Teil des LINUX-Benutzerhandbuchs an, welcher den Befehl „mv” beschreibt.

Es ist daher nicht überraschend, dass der Befehl:

man man

den Teil des LINUX-Benutzerhandbuchs anzeigt, welcher den Befehl „man” beschreibt.

Platzhalter in Verzeichnisnamen

Wie unter DOS, ermöglichen viele LINUX-Befehle die Verwendung von sogenannten „Wildcards”, also Zeichen, die als Platzhalter eingesetzt werden können, zur Vereinfachung von Massenänderungen. Auch hier steht:

Der Befehl:

rm *.c *.o

löscht, nach Bestätigung, alle C-Quelldateien und Objektdateien im Arbeitsverzeichnis.

Der Befehl:

rm *

löscht, nach Bestätigung, alle Dateien im Arbeitsverzeichnis.

Der Befehl:

ls datei?.gcc

zeigt alle C++-Quelldateien an deren Namen mit der Zeichenkette „datei” beginnt, gefolgt von genau einem beliebigen Zeichen und mit der Zeichenkette „.gcc” endet.


Valid HTML 4.01! © 2007, Pierre Mousel
Veuillez faire parvenir toute remarque ou commentaire à Pierre Mousel