So kopieren Sie Dateien und Verzeichnisse unter Linux
Das Kopieren von Dateien und Verzeichnissen ist eine der häufigsten Aufgaben, die Sie ausführen, wenn Sie an der Befehlszeile arbeiten. Es gibt mehrere Befehle zum Kopieren von Dateien unter Linux, wobei cp
und rsync
die am häufigsten verwendeten Werkzeuge sind.
Es ist üblich, den Befehl cp
zum Kopieren von Dateien und rsync
zum Kopieren von Verzeichnissen zu verwenden.
Um Dateien und Verzeichnisse kopieren zu können, benötigen Sie mindestens Leseberechtigungen für die Quelldatei und Schreibberechtigungen für das Zielverzeichnis.
Kopieren von Dateien mit dem Befehl cp #
Unter Linux- und Unix-Betriebssystemen wird der Befehl cp
zum Kopieren von Dateien und Verzeichnissen verwendet.
Der einfachste Anwendungsfall ist das Kopieren einer Datei in das aktuelle Arbeitsverzeichnis. Um beispielsweise eine Datei mit dem Namen file.txt
in eine Datei mit dem Namen file_backup.txt
im aktuellen Verzeichnis zu kopieren, führen Sie den folgenden Befehl aus:
cp file.txt file_backup.txt
Wenn die Zieldatei existiert, wird sie überschrieben. Verwenden Sie die Option -i
, um vor dem Überschreiben der Dateien eine Bestätigungsaufforderung zu erhalten.
cp -i file.txt file_backup.txt
Wenn Sie den Befehl cp
zum Kopieren einer Datei verwenden, gehört die neue Datei standardmäßig dem Benutzer, der den Befehl ausführt. Verwenden Sie die Option -p
, um den Dateimodus, den Besitz und die Zeitstempel beizubehalten:
cp -p file.txt file_backup.txt
Eine weitere Option, die nützlich sein kann, ist -v
. Wenn Sie diese Option verwenden, gibt der Befehl Folgendes aus:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
Kopieren einer Datei in ein Verzeichnis #
Um eine Datei in ein Verzeichnis zu kopieren, geben Sie den absoluten oder relativen Pfad zum Verzeichnis an. Wenn das Zielverzeichnis weggelassen wird, wird die Datei in das aktuelle Verzeichnis kopiert.
Im folgenden Beispiel kopieren wir die Datei file.txt
in das /backup
Verzeichnis:
cp file.txt /backup
Wenn Sie nur den Verzeichnisnamen als Ziel angeben, hat die kopierte Datei denselben Namen wie die Originaldatei.
Wenn Sie die Datei unter einem anderen Namen kopieren möchten, müssen Sie den gewünschten Dateinamen angeben:
cp file.txt /backup/new_file.txt
Der obige Befehl kopiert die Datei in das angegebene Verzeichnis als new_file.txt
.
Mehrere Dateien kopieren #
Um mehrere Dateien und Verzeichnisse gleichzeitig zu kopieren, geben Sie die Namen der Quelldateien und Verzeichnisse gefolgt vom Zielverzeichnis als letztes Argument an:
cp file.txt dir file1.txt file2.txt dir1
Beim Kopieren mehrerer Dateien muss das Ziel ein Verzeichnis sein.
Mit dem Befehl cp
können Sie auch den Mustervergleich verwenden. Um beispielsweise alle .png
-Dateien aus dem aktuellen Verzeichnis in das /backup
-Verzeichnis zu kopieren, verwenden Sie:
cp *.png /backup
Verzeichnisse kopieren mit cp Command #
Um ein Verzeichnis einschließlich aller Dateien und Unterverzeichnisse zu kopieren, verwenden Sie die -R
oder -r
Option. Im folgenden Beispiel kopieren wir das Verzeichnis Pictures
nach Pictures_backup
:
cp -R Pictures Pictures_backup
Der obige Befehl erstellt das Zielverzeichnis und kopiert rekursiv alle Dateien und Unterverzeichnisse von der Quelle in das Zielverzeichnis.
Wenn das Zielverzeichnis bereits vorhanden ist, werden das Quellverzeichnis selbst und sein Inhalt in das Zielverzeichnis kopiert. Um nur die Dateien und Unterverzeichnisse, aber nicht das Zielverzeichnis zu kopieren, verwenden Sie die Option -T
:
cp -RT Pictures Pictures_backup
Die beim Kopieren von Dateien verwendeten Optionen können auch beim Kopieren von Verzeichnissen verwendet werden. Der Hauptunterschied besteht darin, dass Sie beim Kopieren von Verzeichnissen die Option -R
verwenden müssen.
Kopieren von Dateien und Verzeichnissen mit dem Befehl rsync #
rsync
ist ein schnelles und vielseitiges Befehlszeilenprogramm, das Dateien und Verzeichnisse zwischen zwei Speicherorten synchronisiert. Es kann verwendet werden, um Dateien an lokale und Remote-Standorte zu kopieren.
rsync
enthält viele Optionen, die jeden Aspekt seines Verhaltens steuern
Die nützlichste Option ist -a
die Verzeichnisse rekursiv kopieren, spezielle und blockierte Geräte übertragen und symbolische Links, Änderungszeiten, Gruppen, Besitz und Berechtigungen beibehalten.
Um eine einzelne Datei von einem Speicherort an einen anderen zu kopieren, führen Sie den folgenden Befehl aus:
rsync -a file.txt file_backup.txt
Wenn die Zieldatei vorhanden ist, rsync
überschreibt sie.
Der gleiche Befehl kann verwendet werden, um ein Verzeichnis zu kopieren:
rsync -a /var/www/public_html/ /var/www/public_html_backup/
rsync
Ändern Sie die Quellverzeichnisse, die mit einem abschließenden Schrägstrich enden /
anders. Wenn Sie dem Quellverzeichnis einen abschließenden Schrägstrich hinzufügen, kopiert der Befehl nur den Inhalt des Quellverzeichnisses in das Zielverzeichnis. Wenn der abschließende Schrägstrich weggelassen wird, kopiert rsync
das Quellverzeichnis in das Zielverzeichnis. Die sicherste Option ist immer, den abschließenden Schrägstrich /
sowohl für das Ziel als auch für die Quelle einzufügen.
Um mehr über rsync
zu erfahren, lesen Sie die folgenden Artikel:
- Verwendung von Rsync für die lokale und Remote-Datenübertragung und -Synchronisierung
- So schließen Sie Dateien und Verzeichnisse mit Rsync aus
Fazit #
Wir haben Ihnen gezeigt, wie Sie Dateien und Verzeichnisse in Linux- und Unix-basierten Systemen kopierencp
und rsync
Dienstprogramme.
Leave a Reply