Red Hat Linux 7.0: Das Offizielle Red Hat Linux Handbuch Erste Schritte | ||
---|---|---|
Zurück | Kapitel 16 Arbeiten mit 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. Wie müssen Sie also vorgehen, um die Dateien und Verzeichnisse umzubenennen und/oder zu verschieben?
Beschäftigen wir uns zunächst einmal mit dem Befehl copy.
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.
Im Prinzip beruht der Befehl copy auf einer ziemlich einfachen Syntax:
cp <Quelle> <Ziel> |
Wenn Sie also die Datei sneakers.txt in das Verzeichnis tigger in Ihrem Anmeldeverzeichnis kopieren möchten, müssen Sie lediglich Folgendes eingeben:
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.
[neuerbenutzer@localhost neuerbenutzer]$ 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.
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:
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 15 besprochen. Zudem hatten Sie das Verzeichnis tigger mit Hilfe des Befehls mkdir erstellt.
Allerdings haben Sie bislang noch nicht erfahren, wie Sie Dateien und Verzeichnisse wieder löschen können.
Das Löschen von Dateien und Verzeichnissen mit dem Befehl rm (die zugehörige man-Seite können Sie wiederum mit man rm anzeigen) ist mit keinerlei Schwierigkeiten verbunden.
Zu Übungszwecken löschen wir einfach die neue Datei piglet.txt aus dem Verzeichnis tigger mit dem Befehl rm:
rm piglet.txt |
Doch wie können Sie vorgehen, wenn Sie sich doch nicht sicher sind, ob Sie die Datei wirklich löschen möchten? Wenn Sie keine weitere Option angegeben haben, können Sie jetzt nichts mehr ändern. Daher empfiehlt sich die Verwendung der Option -i (interaktiv), mit der Sie vor dem endgültigen Löschen gefragt werden, ob Sie die entsprechende Datei auch wirklich löschen möchten.
[neuerbenutzer@localhost neuerbenutzer]$ 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* |
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 - 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. Auf diese Weise können auch leere Verzeichnisse gelöscht werden.
Um Verzeichnisse mit rm zu löschen, müssen Sie die Option -r verwenden.
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! | |
---|---|
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.