Kopieren, Verschieben, Umbenennen und Löschen von Dateien

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.

Kopieren von Dateien

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:

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.

Verschieben von Dateien

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:

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.

Umbenennen von Dateien

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

Löschen von Dateien und Verzeichnissen

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:

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:

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

AchtungVorsicht 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.