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
SOURCEundDESTINATIONArgumente sind beide Dateien, dercpkopiert die erste Datei in die zweite. Wenn die Datei nicht existiert, erstellt der Befehl sie. - Wenn die
SOURCEmehrere Dateien oder Verzeichnisse als Argumente hat,DESTINATIONArgument muss ein Verzeichnis sein. In diesem Fall ist dieSOURCEDateien und Verzeichnisse werden nachDESTINATIONverschoben Verzeichnis. - Wenn die
SOURCEundDESTINATIONArgumente sind beide Verzeichnisse, dercpkopiert 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.