Kopieren, Verschieben und Umbenennen von Dateien und Verzeichnissen

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.

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.

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:

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.

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.

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:

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 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:

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
	    

AchtungVorsicht!
 

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.