Red Hat Linux 7.1: Das Offizielle Red Hat Linux Handbuch Erste Schritte | ||
---|---|---|
Zurück | Kapitel 11 Verwalten von Dateien und Verzeichnissen | Vor |
Bislang haben Sie einiges über die Struktur Ihres Dateisystems erfahren und einige Dateien und Verzeichnisse übungsweise erstellt.
Allerdings haben Sie noch nicht erfahren, wie Sie die erstellten Dateien und Verzeichnisse wieder ändern können. In diesem Abschnitt wird das Kopieren, Verschieben, Umbenennen und Löschen behandelt.
Wie bei vielen Funktionen von Linux steht Ihnen auch für das Bearbeiten von Dateien und Verzeichnissen eine Vielzahl von Optionen zur Verfügung. Sie können auch beim Kopieren, Verschieben oder Löschen von Dateien und Verzeichnissen wieder Platzhalter verwenden.
Um eine Datei zu kopieren, geben Sie folgenden Befehl ein:
cp <source> <destination> |
So, to copy the file sneakers.txt to the directory tigger in your login directory, move to your login directory and type:
cp sneakers.txt tigger |
Beachten Sie bitte, dass Sie für das Kopieren der Datei relative Pfadangaben verwendet haben. Sie können in Verbindung mit cp sowohl relative als auch absolute Pfadangaben verwenden. Ihr Anmeldeverzeichnis ist ein übergeordnetes Verzeichnis von tigger, daher liegt tigger auf einer um eine Stufe tieferen Verzeichnisebene.
Lesen Sie sich die man-Seite zu cp durch (geben Sie hierzu man cp ein), um sich einen Überblick über alle Optionen zu verschaffen, die für cp zur Verfügung stehen. Zu den wichtigsten Optionen für cp zählen:
-i — interaktiv. Wenn durch das Kopieren eine Datei am Zielort überschrieben wird, erfolgt eine Abfrage zur Bestätigung. Dies ist eine besonders praktische Option, da Sie auf diese Weise das versehentliche Überschreiben von Dateien vermeiden können.
-r — rekursiv. Mit dieser Option werden nicht nur Dateien und Verzeichnisse, sondern zugleich alle Unterverzeichnisse an den Zielort kopiert, so dass eine getreue Kopie der gesamten Verzeichnisstruktur entsteht.
-v — verbose (engl. für "erläuternd"). Mit dieser Option wird der Fortschritt des Kopiervorgangs angezeigt.
Bei der Eingabe von cp ohne weitere Optionen werden während der Ausführung des Befehls kaum Informationen ausgegeben. Falls Sie jedoch eine Option wie beispielsweise -i verwenden, können Sie den Kopiervorgang beeinflussen. Wenn die Datei an einen Zielort kopiert werden soll, an dem bereits eine Datei gleichen Namens existiert, erfolgt eine Abfrage, ob Sie die bereits bestehende Datei überschreiben (und somit ersetzen) möchten.
Nachdem sich die Datei sneakers.txt nun im Verzeichnis tigger befindet, verwenden wir den Befehl cp -i, um die Datei nochmals an den gleichen Zielort zu kopieren.
[newuser@localhost newuser]$ cp -i sneakers.txt tigger cp: overwrite 'tigger/sneakers.txt'? |
Wenn Sie die bereits bestehende Datei überschreiben möchten, müssen Sie die Taste Y drücken und dann die Eingabetaste betätigen. Wenn Sie die Datei hingegen doch nicht überschreiben möchten, drücken Sie jetzt die Taste N und anschließend die Eingabetaste.
Für das Verschieben von Dateien steht Ihnen der Befehl mv zur Verfügung (man mv ), der in vielerlei Hinsicht dem Befehl cp ähnelt. Der eigentliche Unterschied von mv besteht darin, dass die Datei physisch von einem Ort an einen anderen verschoben wird, während die Datei mit cp dupliziert wird. Weitere Informationen über mv finden Sie in der mv -man-Seite (geben Sie man mv ein).
Zu den gebräuchlichsten Optionen für die Verwendung mit mv zählen:
-i — interaktiv. Mit dieser Option erfolgt eine Abfrage, ob Sie beim Verschieben der ausgewählten Datei bestehende Dateien im Zielverzeichnis überschreiben möchten. Diese Option ist überaus sinnvoll, da Sie ähnlich wie bei der Verwendung der Option -i beim Befehl cp auch hier gefragt werden, ob Sie eine existierende Datei ersetzen möchten.
-f — force (engl. für "erzwingen"). Mit dieser Option werden Dateien beim Kopieren ohne Sicherheitsabfrage überschrieben. Wenn Sie nicht genau wissen, was Sie durch das Verschieben bewirken, empfiehlt sich die Verwendung dieser Option nicht. Selbst als erfahrener Linux-Benutzer sollten Sie diese Option nur ausnahmsweise und mit größter Vorsicht verwenden.
-v — verbose (engl. für "erläuternd"). Diese Option zeigt in einer Liste die Dateien an, die gerade verschoben werden.
Wenn Sie eine Datei aus Ihrem Heimatverzeichnis in ein anderes Verzeichnis verschieben möchten, müssen Sie hierzu lediglich Folgendes eingeben (Sie müssen sich in Ihrem Home- verzeichnis befinden):
mv sneakers.txt tigger |
Als Alternative können Sie unter Verwendung absoluter Pfadnamen auch mv sneakers.txt /home/neuerbenutzer /home/neuerbenutzer/tigger eingeben.
Eigentlich haben wir uns ja bereits mit dem Umbenennen indirekt beschäftigt, da Sie beim Kopieren oder Verschieben von Dateien diese auch umbenennen können.
Wenn Sie die Datei sneakers.txt von Ihrem Anmeldeverzeichnis in das Unterverzeichnis tigger kopieren möchten, müssen Sie lediglich folgenden Befehl eingeben:
cp sneakers.txt tigger |
Um diese Datei zu kopieren und von sneakers.txt in piglet.txt umzubenennen, geben Sie Folgendes ein:
cp sneakers.txt tigger/piglet.txt |
Um die Datei zu verschieben und umzubenennen, verwenden Sie lediglich den Befehl mv statt cp.
Wenn Sie mit cd in das Verzeichnis tigger wechseln und den Befehl ls verwenden, wird die Datei piglet.txt angezeigt.
Um die Datei nur umzubenennen und den aktuellen Speicherort beizubehalten, geben Sie mv in Ihrem aktuellen Verzeichnis ein:
mv sneakers.txt piglet.txt |
Wir hatten bereits das Erstellen von Dateien mit dem Befehl touch und durch Verwenden der Umleitung in Kapitel 10 besprochen. Zudem hatten Sie das Verzeichnis tigger mit Hilfe des Befehls mkdir erstellt.
Das Löschen von Dateien und Verzeichnissen mit dem Befehl rm ist mit keinerlei Schwierigkeiten verbunden. Die Optionen für das Löschen von Dateien und Verzeichnissen enthalten:
-i — interaktiv. Mit dieser Option erfolgt eine Abfrage, ob Sie die Datei wirklich löschen möchten. Diese Option ist sehr zu empfehlen.
-f — force (engl. für "erzwingen"). Die Dateien werden ohne vorherige Abfrage gelöscht. Diese Option sollten Sie nur dann verwenden, wenn Sie genau wissen, welche Dateien Sie mit dem Befehl löschen.
-v — verbose (engl. für "erläuternd"). Beim Löschen der Dateien werden die Dateinamen in einer Liste angezeigt.
-r — rekursiv. Beim Löschen von Verzeichnissen werden alle Dateien und Unterverzeichnisse im angegebenen Verzeichnis gelöscht
Um die Datei piglet.txt mit dem Befehl rm aus dem Verzeichnis tigger zu löschen, geben Sie Folgendes ein:
rm piglet.txt |
Was passiert, wenn Sie es sich danach anders überlegt haben? Dafür ist es zu spät, die Daten sind gelöscht! Aus diesem Grund ist der Befehl -i (interaktiv)zu empfehlen, da Sie bei dieser Option die Möglichkeit haben, noch einmal zu überlegen, ob Sie die Datei tatsächlich löschen möchten.
[newuser@localhost newuser]$ rm -i piglet.txt rm: remove 'piglet.txt'? |
Für das Löschen von Dateien können Sie auch den Platzhalter * verwenden. Allerdings sollten Sie diesen Platzhalter nur mit größter Sorgfalt verwenden, da die Gefahr des unbeabsichtigten Löschens von Dateien besteht.
Beim Löschen von Dateien mit Platzhaltern müssen Sie beispielsweise Folgendes eingeben:
rm pig* |
Mit diesem Befehl werden alle Dateien im Verzeichnis gelöscht, die mit den Buchstaben "pig" beginnen.
Sie können auch mehrere Dateien durch Eingabe eines Befehls löschen, wie beispielsweise durch:
rm piglet.txt sneakers.txt |
Zu den Optionen für das Löschen von Dateien und Verzeichnisse zählen:
-i — Mit dieser Option erfolgt eine Abfrage, ob Sie die Datei wirklich löschen möchten. Diese Option ist sehr zu empfehlen.
-f — force (engl. für "erzwingen"). Die Dateien werden ohne vorherige Abfrage gelöscht. Diese Option sollten Sie nur dann verwenden, wenn Sie genau wissen, welche Dateien Sie mit dem Befehl löschen.
-v — verbose (engl. für "erläuternd"). Beim Löschen der Dateien werden die Dateinamen in einer Liste angezeigt.
-r — rekursiv. Beim Löschen von Verzeichnissen werden alle Dateien und Unterverzeichnisse im angegebenen Verzeichnis gelöscht.
Mit dem Befehl rmdir können Sie ein Verzeich- nis (z.B. rmdir foo) löschen. Allerdings nur, wenn das Verzeichnis leer ist. Um Verzeichnisse mit rm zu löschen, müssen Sie die Option -r festlegen.
Wenn Sie beispielsweise das Verzeichnis tigger mit allen darin enthaltenen Daten löschen möchten, geben Sie folgenden Befehl ein:
rm -r tigger |
Wenn Sie verschiedene Optionen miteinander kombinieren möchten, wie beispielsweise für das erzwungene Löschen aller Daten in einem Verzeichnis, können Sie einen Befehl eingeben wie:
rm -rf tigger |
Vorsicht bei der Verwendung des Befehls rm! | |
---|---|
rm ist ein mächtiger Befehl, mit dem Sie Ihr gesamtes System löschen können. Wenn Sie als Root einen so einfachen Befehl wie rm -rf / eingeben, sind Sie verloren - mit diesem Befehl werden nämlich alle in Ihrem System vorhandenen Dateien nacheinander gelöscht. |
Daher empfiehlt es sich im Allgemeinen, statt rm den Befehl rmdir für das Löschen von Verzeichnissen zu verwenden. Mit diesem Befehl können Sie nur leere Verzeichnisse löschen. Damit ist ausgeschlossen, dass Sie versehentlich wichtige Dateien oder Ihr gesamtes System löschen.
Für den Befehl rmdir steht eine umfassende man-Seite bereit, die Sie durch Eingeben von man rmdir anzeigen können.