Wenn Sie auf Linux- und Unix-Systemen arbeiten, ist das Kopieren von Dateien und Verzeichnissen eine der häufigsten Aufgaben, die Sie täglich ausführen werden.
cp
ist ein Befehlszeilenprogramm zum Kopieren von Dateien und Verzeichnissen auf Unix- und Linux-Systemen.
In diesem Artikel erklären wir, wie man cp
verwendet Befehl.
Verwendung von cp
Befehl #
Die allgemeine Syntax für cp
Befehl lautet wie folgt:
cp [OPTIONS] SOURCE... DESTINATION
Die SOURCE
kann eine oder mehrere Dateien oder Verzeichnisse als Argumente und den DESTINATION
enthalten Argument kann eine einzelne Datei oder ein einzelnes Verzeichnis sein.
- Wenn die
SOURCE
undDESTINATION
Argumente sind beide Dateien, dercp
kopiert die erste Datei in die zweite. Wenn die Datei nicht existiert, erstellt der Befehl sie. - Wenn die
SOURCE
mehrere Dateien oder Verzeichnisse als Argumente hat,DESTINATION
Argument muss ein Verzeichnis sein. In diesem Fall ist dieSOURCE
Dateien und Verzeichnisse werden nachDESTINATION
verschoben Verzeichnis. - Wenn die
SOURCE
undDESTINATION
Argumente sind beide Verzeichnisse, dercp
kopiert das erste Verzeichnis in das zweite.
Um Dateien und Verzeichnisse kopieren zu können, benötigen Sie mindestens Leseberechtigungen für die Quelldatei und Schreibberechtigungen für das Zielverzeichnis. Andernfalls wird ein Fehler "Zugriff verweigert" angezeigt.
Kopieren von Dateien mit cp-Befehl #
Das grundlegendste Szenario der Verwendung von cp
ist das Kopieren einer Datei in das aktuelle Arbeitsverzeichnis. Zum Beispiel, um eine Datei mit dem Namen file.txt
zu kopieren zu file_backup.txt
, führen Sie den folgenden Befehl aus:
cp file file_backup
oder:
cp file{,_backup}
Um eine Datei in ein anderes Verzeichnis zu kopieren, geben Sie den absoluten oder den relativen Pfad zum Zielverzeichnis an.
Wenn nur der Verzeichnisname als Ziel angegeben wird, hat die kopierte Datei denselben Namen wie die Originaldatei.
Im folgenden Beispiel kopieren wir die Datei file.txt
nach /backup
Verzeichnis:
cp file.txt /backup
Wenn Sie die Datei unter einem anderen Namen kopieren möchten, müssen Sie den gewünschten Dateinamen angeben. Der folgende Befehl kopiert die Datei als new_file.txt
in das angegebene Verzeichnis .
cp file.txt /backup/new_file.txt
Wenn die Zieldatei vorhanden ist, wird sie standardmäßig überschrieben. Das -n
Option teilt cp
mit um eine vorhandene Datei nicht zu überschreiben.
Um cp
zu erzwingen um zur Bestätigung aufzufordern, verwenden Sie -i
Option.
cp -i file.txt file_backup.txt
Wenn Sie die Datei nur kopieren möchten, wenn sie neuer als das Ziel ist, rufen Sie den Befehl mit dem -u
auf Möglichkeit:
cp -u file.txt file_backup.txt
Beim Kopieren einer Datei gehört die neue Datei dem Benutzer, der den Befehl ausführt. Verwenden Sie das -p
Option zum Beibehalten des Dateimodus, des Eigentums und der Zeitstempel:
cp -p file.txt file_backup.txt
Eine weitere nützliche Option ist -v
, was cp
mitteilt um eine ausführliche Ausgabe zu drucken:
cp -v file.txt file_backup.txt
'file.txt' -> 'file_backup.txt'
Kopieren von Verzeichnissen mit cp-Befehl #
Um ein Verzeichnis einschließlich aller seiner Dateien und Unterverzeichnisse zu kopieren, verwenden Sie das -R
oder -r
Option.
Im folgenden Beispiel kopieren wir das Verzeichnis Pictures
zu 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 existiert, wird das Quellverzeichnis selbst und sein Inhalt in das Zielverzeichnis kopiert.
Um nur die Dateien und Unterverzeichnisse, aber nicht das Quellverzeichnis zu kopieren, verwenden Sie das -T
Möglichkeit:
cp -RT Pictures Pictures_backup
Eine andere Möglichkeit, nur den Inhalt des Verzeichnisses, aber nicht das Verzeichnis selbst zu kopieren, ist die Verwendung des Platzhalterzeichens (*
). Der Nachteil des folgenden Befehls ist, dass er die versteckten Dateien und Verzeichnisse (die mit einem Punkt .
beginnen) nicht kopiert ):
cp -RT Pictures/* Pictures_backup/
Alle Optionen, die wir im vorherigen Abschnitt beim Kopieren von Dateien verwendet haben, können auch beim Kopieren von Verzeichnissen verwendet werden. Der Hauptunterschied besteht darin, dass Sie beim Kopieren von Verzeichnissen immer das -R
verwenden müssen Option.
Mehrere Dateien und Verzeichnisse kopieren #
Um mehrere Dateien und Verzeichnisse auf einmal zu kopieren, geben Sie ihre Namen an und verwenden Sie das Zielverzeichnis als letztes Argument:
cp file.txt dir file1.txt dir1
Beim Kopieren mehrerer Dateien muss das Ziel ein Verzeichnis sein.
Schlussfolgerung #
Kopieren von Dateien und Verzeichnissen mit dem cp
Befehl ist eine einfache Aufgabe. Weitere Informationen zum verfügbaren cp
geben Sie man cp
ein in Ihrem Terminal.
Um Dateien über das Netzwerk zu kopieren, verwenden Sie rsync
und scp
Dienstprogramme.
Wenn Sie Fragen oder Feedback haben, können Sie gerne einen Kommentar hinterlassen.