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:
-aoder--archive: Übernimmt alle Eigenschaften der Quelldatei, einschließlich der Berechtigungen, Eigentümer und Zeitstempel.-foder--force: Überschreibt die Zieldatei, falls sie bereits existiert.-ioder--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.-voder--verbose: Gibt detaillierte Informationen über den Fortschritt des Kopiervorgangs aus.-poder--preserve[=mode,ownership,timestamps]: Erhaltung der ursprünglichen Dateiberechtigungen, Zeitstempel und Besitzerinformationen.-noder--no-clobber: Verhindert, dass eine bestehende Datei überschrieben wird.-uoder--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
-rverwendet, 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.