Kopieren von Dateien und Verzeichnissen mit Linux-Terminal

Suraj Joshi 18 Juli 2021
  1. Dateien mit dem cp-Befehl kopieren
  2. Dateien mit dem cp-Befehl in ein Verzeichnis kopieren
  3. Mehrere Dateien kopieren
  4. Verzeichnisse mit dem cp-Befehl kopieren
  5. Dateien und Verzeichnisse mit dem rsync-Befehl kopieren
Kopieren von Dateien und Verzeichnissen mit Linux-Terminal

Wir können Dateien und Verzeichnisse mit den Befehlen cp und rsync unter Verwendung des Linux-Terminals kopieren. Der Befehl cp wird im allgemeinen verwendet, um Dateien zu kopieren, während der Befehl rsync im allgemeinen verwendet wird, um Verzeichnisse zu kopieren.

Dateien mit dem cp-Befehl kopieren

Wir benutzen den Befehl cp in Linux- und Unix-Betriebssystemen zum Kopieren von Dateien und Verzeichnissen.

Um den Inhalt der Datei abc.txt in eine andere Datei backup.txt zu kopieren, verwenden wir den folgenden Befehl:

cp abc.txt backup.txt

Er kopiert den Inhalt der Datei abc.txt in die Datei backup.txt. Dabei müssen sich beide Dateien im aktuellen Arbeitsverzeichnis befinden.

Wenn die Zieldatei bereits existiert, wird der Inhalt der Zieldatei überschrieben.

Wir können das Flag -i zum Befehl cp hinzufügen, um vor dem Kopieren eine Bestätigungsabfrage zu erhalten.

cp -i abc.txt backup.txt

Ausgabe:

cp: overwrite 'backup.txt'?

Wenn wir die Datei kopieren wollen, drücken wir die Taste Y und drücken Enter.

Um Informationen oder eine Vorstellung davon zu erhalten, was mit dem cp-Befehl getan wird, können wir das -v-Flag mit dem cp-Befehl verwenden.

cp -v abc.txt backup.txt

Ausgabe:

'abc.txt' -> 'backup.txt'

Es zeigt den Inhalt der Datei abc.txt an, die nach backup.txt kopiert wird.

Dateien mit dem cp-Befehl in ein Verzeichnis kopieren

Um eine Datei in ein Verzeichnis zu kopieren, verwenden wir den Befehl cp. Das erste Argument für den cp-Befehl ist der Name der zu kopierenden Datei, und das zweite Argument ist der absolute oder relative Pfad des Verzeichnisses, in das die Datei kopiert werden soll.

cp abc.txt ./test

Er kopiert die Datei abc.txt im aktuellen Arbeitsverzeichnis in den Ordner im aktuellen Arbeitsverzeichnis test.

Um die Datei in das bestimmte Verzeichnis mit einem anderen Namen als der der übergeordneten Datei zu kopieren, können wir den Namen der Datei als angeben:

cp abc.txt ./test/test.txt

Er kopiert die Datei abc.txt in den Ordner test mit dem Namen test.txt.

Mehrere Dateien kopieren

Wir können mehrere Dateien und Verzeichnisse mit dem cp-Befehl in ein bestimmtes Verzeichnis kopieren, indem wir alle Quelldateien und -verzeichnisse angeben, gefolgt von dem Zielverzeichnis am Ende.

cp abc.txt backup.txt test backup

Dadurch werden die Dateien abc.txt und backup.txt sowie der Ordner test in den Ordner backup kopiert.

Der Befehl cp erlaubt auch den Mustervergleich.

cp *.txt backup

Dadurch werden alle Dateien mit der Erweiterung .txt im aktuellen Arbeitsverzeichnis in den Ordner backup kopiert.

Verzeichnisse mit dem cp-Befehl kopieren

Wir benutzen die Flagge -r oder -R zusammen mit dem Befehl cp, um das Verzeichnis und seine Unterverzeichnisse und Dateien in das Zielverzeichnis zu kopieren.

cp -r pp Project

Es kopiert das gesamte Verzeichnis pp und seine Unterverzeichnisse und Dateien in das Zielverzeichnis Project.

In diesem Beispiel gibt es ein Verzeichnis pp innerhalb des Verzeichnisses Project.

Wenn wir jedoch nur Dateien und Unterverzeichnisse kopieren wollen, benutzen wir das -T Flag zusammen mit dem -R Flag.

cp -RT pp Project

Es kopiert die Unterverzeichnisse und Dateien des pp-Verzeichnisses in das Zielverzeichnis Project.

Dateien und Verzeichnisse mit dem rsync-Befehl kopieren

rsync ist ein Kommandozeilen-Dienstprogramm zum Synchronisieren von Dateien und Verzeichnissen zwischen zwei Hosts. Wenn sowohl der Quell- als auch der Zielpfad den localhost repräsentieren, verhält sich der Befehl rsync wie ein Kopierbefehl.

rsync -a abc.txt backup.txt

Es kopiert den Inhalt der Datei abc.txt in die Datei backup.txt.

Hier sorgt -a flag dafür, dass symbolische Links, Modifikationszeiten, Gruppe, Eigentumsverhältnisse und Berechtigungen während des Kopierens erhalten bleiben.

Auf ähnliche Weise können wir ein Verzeichnis in ein anderes Verzeichnis kopieren.

rsync -a /abc /backup-abc

Dabei wird der Inhalt des Verzeichnisses abc in das Zielverzeichnis backup-abc kopiert.

Wenn wir hier den abschließenden Schrägstrich / weglassen, dann wird das Quellverzeichnis innerhalb des Zielverzeichnisses kopiert.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Verwandter Artikel - Linux Files and Directories