Einführung
Diese Anleitung zeigt Ihnen, wie Sie Dateien und Verzeichnisse in Linux kopieren, indem Sie Befehle von der Befehlszeile ausführen. Darüber hinaus beschreiben die unten aufgeführten Befehle, wie Sie systemweite Backups erstellen oder bestimmte Dateien herausfiltern und nur kopieren können.
Verwendung des cp-Befehls zum Kopieren von Dateien und Verzeichnissen unter Linux
Der cp
Der Befehl ist die primäre Methode zum Kopieren von Dateien und Verzeichnissen in Linux. Praktisch alle Linux-Distributionen können cp
verwenden . Das grundlegende Format des Befehls ist:
cp [additional_option] source_file target_file
Zum Beispiel:
cp my_file.txt my_file2.txt
Dieser Linux-Befehl erstellt eine Kopie der my_file.txt Datei und benennt die neue Datei in meine_datei2.txt um .
Standardmäßig ist der cp
Der Befehl wird im selben Verzeichnis ausgeführt, in dem Sie arbeiten. Dieselbe Datei kann jedoch nicht zweimal im selben Verzeichnis vorhanden sein. Sie müssen den Namen der Zieldatei ändern, um sie an denselben Speicherort zu kopieren. Einige Benutzer werden _old hinzufügen , manche fügen eine Zahl hinzu und manche ändern sogar die aus drei Buchstaben bestehende Erweiterung (z. B. .bak statt .txt ).
Möglicherweise erhalten Sie keine Warnung, bevor Linux Ihre Datei überschreibt – seien Sie vorsichtig, oder sehen Sie unten nach dem –i
Option.
Zusätzliche Optionen
Zusätzliche Optionen können in Kombination mit cp
verwendet werden Befehl:
–v
ausführlich :zeigt den Fortschritt mehrerer kopierter Dateien an–p
bewahren :Behält dieselben Attribute wie Erstellungsdatum und Dateiberechtigungen bei–f
Kraft :Kopieren erzwingen, indem zuerst eine vorhandene Datei gelöscht wird–i
interaktiv :Fordert zur Bestätigung auf, dringend empfohlen–R
rekursiv :kopiert alle Dateien und Unterordner in einem Verzeichnis–u
aktualisieren :nur kopieren, wenn Quelle neuer als Ziel ist
So kopieren Sie eine Datei in ein anderes Verzeichnis unter Linux
Um eine Datei aus dem Verzeichnis, in dem Sie gerade arbeiten, an einen anderen Ort zu kopieren, verwenden Sie den Befehl:
cp my_file.txt /new_directory
Sie müssen die Datei nicht umbenennen, es sei denn, es gibt bereits eine mit demselben Namen im Zielverzeichnis.
So geben Sie einen Pfad für die Quelldatei an:
cp /etc/my_file.txt /new_directory
Auf diese Weise können Sie kopieren, ohne das Verzeichnis wechseln zu müssen. Der cp
Der Befehl erstellt das /new_directory wenn es nicht existiert.
So benennen Sie eine Datei um und kopieren sie in einen anderen Pfad:
cp my_file.txt /new_directory/my_file2.txt
Diese Option ist nützlich, um Sicherungskopien von Konfigurationsdateien zu erstellen oder Daten auf ein Speichergerät zu kopieren.
Kopieren Sie unter Linux mehrere Dateien von einem Verzeichnis in ein anderes
Möglicherweise müssen Sie mehrere Dateien gleichzeitig kopieren.
Listen Sie jede zu kopierende Datei vor dem Zielverzeichnis auf:
cp my_file.txt my_file2.txt my_file3.txt /new_directory
In diesem Beispiel wurde eine Kopie aller drei Dateien im Verzeichnis /new_directory erstellt Ordner.
Verwenden Sie einen Platzhalter, um alle Dateien anzugeben, die eine Zeichenkette gemeinsam haben:
cp /pictures/*.jpg /new_directory
Dies würde alle Dateien mit der .jpg-Datei finden Erweiterung in /pictures Verzeichnis und kopieren Sie sie in das Verzeichnis /new_directory Ordner.
Um eine zu kopieren gesamter Ordner und seine Unterordner und Dateien verwenden Sie das –R
Möglichkeit:
cp –R /documents /new_directory
–R
steht für rekursiv, was „alles an diesem Ort“ bedeutet. Dies würde alle Dateien sowie alle Verzeichnisse in das /neue_Verzeichnis kopieren Ordner.
Kopieren mit dem rsync-Befehl
Der Befehl rsync in Linux wird verwendet, um Daten zwischen zwei Standorten zu synchronisieren oder zu übertragen. Die Verwendung ist ähnlich wie bei cp
, aber es gibt ein paar wesentliche Unterschiede zu beachten.
Um eine einzelne Datei zu kopieren, geben Sie Folgendes in ein Terminal ein:
rsync –a my_file.txt /new_directory/my_file_backup.txt
- Der
–a
Option bedeutet alle , und ist inrsync
enthalten Befehle – dadurch bleiben Unterverzeichnisse, symbolische Links und andere Metadaten erhalten. - Ersetzen Sie die my_file.txt Datei im Arbeitsverzeichnis.
- Ersetzen Sie /new_directory/ mit dem Ziel.
- Verwendung von my_file_backup.txt wie das Ziel angibt, wird die Datei während des Kopierens umbenannt.
Um ein Verzeichnis mit rsync zu kopieren, geben Sie Folgendes ein:
rsync –a /etc/docker/ /home/backup/docker/
Dadurch wird der Inhalt von /etc/docker/ kopiert Verzeichnis nach /home/backup/docker/ . Achten Sie darauf, die Schrägstriche beizubehalten. Wenn Sie den Schrägstrich im Quellverzeichnis weglassen, wird der Inhalt in ein Unterverzeichnis kopiert.
Um zu verhindern, dass Dateien kopiert werden, lesen Sie unsere Anleitung zum Ausschließen von Dateien und Verzeichnissen bei der Datenübertragung mit dem Befehl rsync.
Andere Optionen
Die ls
command ist ein praktischer Partner für cp
Befehl unter Linux.
Um den Inhalt eines Verzeichnisses aufzulisten, geben Sie den Befehl ein:
ls /directory
Das obige Beispiel zeigt alle Dateien in /directory . Verwenden Sie diesen Befehl nach dem Kopieren, um zu überprüfen, ob die Dateien erfolgreich kopiert wurden.
Um Verzeichnisse zu wechseln, verwenden Sie cd
und den Namen des Verzeichnisses. Zum Beispiel:
cd /other_directory
Die Eingabeaufforderung ändert sich und zeigt an, dass Sie Verzeichnisse geändert haben.