Der cp
-Befehl wird verwendet, um Dateien oder Verzeichnisse von einem Ort zu einem anderen zu kopieren. Der cp
steht für „copy“ (engl. für „kopieren“).
Syntax
cp [OPTIONEN] Quelldatei(en) Ziel
Quelldatei(en)
: Steht für die Datei, Dateien oder das Verzeichnis, das kopiert werden soll.Ziel
: Steht für den Ort, an dem die Kopie erstellt werden soll.
Einige nützliche Optionen für das cp
-Kommando sind:
-a
oder--archive
: Übernimmt alle Eigenschaften der Quelldatei, einschließlich der Berechtigungen, Eigentümer und Zeitstempel.-f
oder--force
: Überschreibt die Zieldatei, falls sie bereits existiert.-i
oder--interactive
: Fragt den Benutzer, ob die Zieldatei überschrieben werden soll, falls sie bereits existiert.-r
,-R
--recursive
: Kopiert das angegebene Verzeichnis und alle Unterverzeichnisse rekursiv.-v
oder--verbose
: Gibt detaillierte Informationen über den Fortschritt des Kopiervorgangs aus.-p
oder--preserve[=mode,ownership,timestamps]
: Erhaltung der ursprünglichen Dateiberechtigungen, Zeitstempel und Besitzerinformationen.-n
oder--no-clobber
: Verhindert, dass eine bestehende Datei überschrieben wird.-u
oder--update
: Kopiert nur dann, wenn die Quellendatei neuer ist als die Zieldatei oder wenn die Zieldatei nicht existiert.
Beispiele
Kopieren einer einzelnen Datei
cp meine_datei.txt neue_datei.txt
Kopiert die Datei meine_datei.txt in eine neue Datei namens neue_datei.txt.
$ cp meine_datei.txt neue_datei.txt
$ ls
meine_datei.txt neue_datei.txt
$
Ein Verzeichnis kopieren
cp -r mein_verzeichnis neues_verzeichnis
Erstellt eine kopie von dem Verzeichnis mein_verzeichnis/ und dessen gesamten Inhalt, im Verzeichnis neues_verzeichnis/.
$ cp -r mein_verzeichnis neues_verzeichnis
$ ls
mein_verzeichnis neues_verzeichnis
$
Berechtigungen, Eigentümer und Zeitstempel erhalten
cp -a mein_verzeichnis neues_verzeichnis
Durch diesen Befehl wird das Verzeichnis mein_verzeichnis/ und dessen gesamten Inhalt in das Verzeichnis neues_verzeichnis/ kopiert, wobei die Dateirechte und andere Metadaten beibehalten werden.
$ cp -a mein_verzeichnis neues_verzeichnis
$ ls -l
drwxr-xr-x 2 benutzer benutzer 4096 Mar 7 12:00 mein_verzeichnis
drwxr-xr-x 2 benutzer benutzer 4096 Mar 7 12:01 neues_verzeichnis
$
Dateien und Verzeichnisse von einem Verzeichnis in ein anderes zu kopieren
cp -r /pfad/zum/quellverzeichnis /pfad/zum/zielverzeichnis
Kopiert das Verzeichnis quellverzeichnis/ und dessen gesamten Inhalt in das Verzeichnis zielverzeichnis/.
$ cp -r /home/benutzer/mein_verzeichnis /home/benutzer/neues_verzeichnis
$ ls /home/benutzer
mein_verzeichnis neues_verzeichnis
$
In das aktuelle Verzeichnis kopieren
cp -r /pfad/zum/quellverzeichnis .
Hiermit wird das Verzeichnis quellverzeichnis/ und dessen gesamten Inhalt in das aktuelle Arbeitsverzeichnis kopiert.
$ cp -r /home/benutzer/mein_verzeichnis .
$ ls
mein_verzeichnis
$
Mehrere Dateien oder Verzeichnisse auf einmal kopieren
cp -r /pfad/zum/quellverzeichnis1 /pfad/zum/quellverzeichnis2 /pfad/zum/zielverzeichnis
- Dieser Befehl kopiert die Verzeichnisse /pfad/zum/quellverzeichnis1 und /pfad/zum/quellverzeichnis2 in das Verzeichnis /pfad/zum/zielverzeichnis. Auch hier wird die Option
-r
verwendet, um die Verzeichnisse rekursiv inklusive aller Unterverzeichnisse und Dateien zu kopieren.
$ ls /pfad/zum/quellverzeichnis1
datei1.txt datei2.txt
$ ls /pfad/zum/quellverzeichnis2
datei3.txt datei4.txt
$ cp -r /pfad/zum/quellverzeichnis1 /pfad/zum/quellverzeichnis2 /pfad/zum/zielverzeichnis
$ ls /pfad/zum/zielverzeichnis
datei1.txt datei2.txt datei3.txt datei4.txt
$
Links
- https://linux.die.net/man/1/cp: Manpage des
cp
-Befehls mit ausführlicher Dokumentation. - https://www.computerhope.com/unix/ucp.htm: Kurze Erklärung des
cp
-Befehls. - https://www.ionos.de/digitalguide/server/konfiguration/linux-cp-befehl/: Tutorial zum
cp
-Befehl mit Anwendungsbeispielen. - https://wiki.ubuntuusers.de/cp/: Umfangreiche Dokumentation des
cp
-Befehls mit Hinweisen zu möglichen Problemen. - https://www.shellbefehle.de/befehle/cp/: Kurze Zusammenfassung des
cp
-Befehls mit Beispielen.