Direkt zum Hauptbereich

Wie kopiere ich Dateien unter Linux und Unix? 10 Beispiele für cp-Befehle

Cp ist einer der grundlegenden Unix-Befehle. Sie wissen bereits, dass damit eine oder mehrere Dateien oder Verzeichnisse von der Quelle zum Ziel kopiert werden.

wie man Dateien unter Linux und Unix kopiert

Während dieses Tutorial für Anfänger gedacht ist, ist es auch für alle nützlich, verschiedene cp-Befehlsoptionen anhand einiger praktischer Beispiele schnell zu überprüfen.
Selbst wenn Sie den Befehl cp ständig verwenden, sind wahrscheinlich eines oder mehrere der unten erläuterten Beispiele für Sie neu.
Die allgemeine Form des Kopierbefehls:

cp [option] source destination

1. Kopieren Sie eine Datei oder ein Verzeichnis von der Quelle zum Ziel

Um eine Datei zu kopieren, müssen Sie die Quelle und das Ziel an den Kopierbefehl übergeben. Im folgenden Beispiel wird die Datei von project / readme.txt nach projectbackup / readme-new.txt kopiert.

$ cp project/readme.txt projectbackup/readme-new.txt 
$ cd projectbackup/ 
$ ls readme-new.txt

Wenn Sie eine Datei von einem Ordner in einen anderen mit demselben Namen kopieren möchten, ist nur der Name des Zielverzeichnisses ausreichend unten gezeigt.

$ cp project/readme.txt projectbackup/ 
$ cd projectbackup/ 
$ ls readme.txt

Ein Verzeichnis (und sein gesamter Inhalt) kann mit der rekursiven Option -r wie unten gezeigt von der Quelle zum Ziel kopiert werden:

$ ls project 
src/ bin/ doc/ lib/ test/ readme.txt LICENSE 
$ cp -r project/ backup/ 
$ ls backup 
src/ bin/ doc/ lib/ test/ readme.txt LICENSE

2. Kopieren Sie mehrere Dateien oder Verzeichnisse 

Sie können mehr als eine Datei von der Quelle zum Ziel kopieren, wie unten gezeigt:

$ cd src/
$ cp global.c main.c parse.c /home/thegeekstuff/projectbackup/src/

Wenn die Quelldateien ein gemeinsames Muster haben, verwenden Sie Platzhalterzeichen wie unten gezeigt. In diesem Beispiel werden alle Erweiterungsdateien c in das Verzeichnis / home / thegeekstuff / projectbackup / src / kopiert.

$ cp *.c /home/thegeekstuff/projectbackup/src/

Kopieren Sie mehrere Verzeichnisse wie unten gezeigt.

$ cd project/ 
$ cp -r src/ bin/ /home/thegeekstuff/projectbackup/
dd

3. Sichern Sie vor dem Kopieren an ein Ziel

Falls die Zieldatei bereits mit demselben Namen vorhanden ist, können Sie mit cp die Zieldatei sichern, bevor Sie sie überschreiben.
In diesem Beispiel ist readme.txt sowohl im Projekt / Verzeichnis als auch im Projektbackup / vorhanden, und beim Kopieren von Projekt / nach Projektbackup / wird die vorhandene Datei readme.txt wie folgt gesichert:

$ cd projectbackup 
$ ls -l readme.txt -rw-r--r-- 1 bala geek 1038 Jan 8 13:15 readme.txt 
$ cd ../project 
$ ls -l readme.txt -rw-r--r-- 1 bala geek 1020 Jan 8 12:25 readme.txt 
$ cp --backup readme.txt /home/thegeekstuff/projectbackup/

Die vorhandene Datei wurde in die Readme-Datei verschoben. txt ~ und die neue Datei wurde wie unten gezeigt als readme.txt kopiert.

$ cd / home / thegeekstuff / projectbackup / 
$ ls -l 
-rw-r - r-- 1 bala geek 1020 8. Januar 13:36 readme.txt Bei Backups ist es wichtig zu verstehen, wie der Befehl rsync funktioniert, um Dateien effektiv zu sichern  .
-rw-r - r-- 1 bala geek 1038 8 gennaio 13:15 readme.txt ~ 

4. Behalten Sie die Links beim Kopieren bei

Wenn Sie den Befehl cp ausführen und die Quelle eine Linkdatei ist, wird die eigentliche Datei kopiert und nicht die Linkdatei. Wenn Sie den Link nur so kopieren möchten, wie er ist, geben Sie die Option -d wie
folgt an Im Folgenden wird gezeigt, dass ohne die Option -d die Datei (und nicht der Link) kopiert wird: Um den Link beizubehalten Gehen Sie beim Kopieren wie folgt vor:

$ cd project / bin
$ ls -l startup.sh
lrwxrwxrwx 1 root root 18 gen 8 13:59 startup.sh -> ../test/startup.sh
$ cp startup.sh / home / thegeekstuff / projectbackup / bin /
$ cd / home / thegeekstuff / projectbackup / bin /
$ ls -l
-rw-r - r-- 1 root root 102 8 gennaio 14:02 startup.sh


$ cd project / bin
$ cp -d startup.sh / home / thegeekstuff / projectbackup / bin /
$ ls -l startup.sh
lrwxrwxrwx 1 root root 18 gen 8 14:10 startup.sh -> ../test/startup.sh

5. Überschreiben Sie keine vorhandene Datei

Wenn Sie nur kopieren möchten, wenn die Zieldatei nicht vorhanden ist, verwenden Sie die Option -n wie unten gezeigt. Dadurch wird die vorhandene Datei nicht überschrieben, und der Befehl cp gibt den Beendigungscode wie unten gezeigt erfolgreich zurück: Wie Sie unten sehen, wurde die Zieldatei nicht überschrieben.

$ cd projectbackup

$ ls -l readme.txt
-rw-r - r-- 1 bala geek 1038 8 gennaio 13:15 readme.txt

$ cd ../project

$ ls -l readme.txt
-rw-r - r-- 1 bala geek 1020 8 gennaio 12:25 readme.txt

$ cp -n readme.txt / home / thegeekstuff / projectbackup / bin /

$ echo $?
0


$ cd projectbackup

$ ls -l readme.txt
-rw-r - r-- 1 bala geek 1038 8 gennaio 13:15 readme.txt

6. Bestätigung vor dem Überschreiben (interaktiver Modus)

Bei Verwendung der Option -i ist eine Bestätigung erforderlich, bevor eine Datei wie unten gezeigt überschrieben wird.

$ cp -i readme.txt / home / thegeekstuff / projectbackup /
cp: sovrascrivi `/home/thegeekstuff/projectbackup/readme.txt '? y

7. Erstellen Sie einen echten Link zu einer Datei (anstatt sie zu kopieren).

Wenn Sie den Befehl cp ausführen, können Sie einen echten Link zur Datei erstellen (anstatt sie zu kopieren). Im folgenden Beispiel wird der echte Link für die Datei sample.txt im Verzeichnis test / erstellt. Wie oben dargestellt, ist test / sample.txt eine Datei, die mit der Datei sample.txt verknüpft ist, und der Inode beider Dateien ist identisch.

$ ls -li sample.txt
10883362 -rw-r - r-- 2 bala geek 1038 9 gennaio 18:40 sample.txt

$ cp -l test sample.txt /

$ ls -li test / sample.txt
10883362 -rw-r - r-- 2 bala geek 1038 9 gennaio 18:40 test / sample.txt

8. Erstellen Sie einen Software-Link zu einer Datei oder einem Verzeichnis (anstatt sie zu kopieren).

Wenn Sie den Befehl cp ausführen, können Sie einen Software-Link zu einer Datei oder einem Verzeichnis erstellen. Im folgenden Beispiel wird eine symbolische Verknüpfung für libFS.so.6.0.0 als libFS.so erstellt.

# cd / usr / lib /
# ls -l libFS.so.6.0.0
-rw-r - r-- 1 root root 42808 19 novembre 2010 libFS.so.6.0.0
# cp -s libFS.so.6.0.0 libFS.so
# ls -l libFS.so
lrwxrwxrwx 1 root root 14 gen 9 20:18 libFS.so -> libFS.so.6.0.0

9. Behalten Sie beim Kopieren die Attribute der Datei oder des Verzeichnisses bei

Mit der Option -p können Sie die Eigenschaften einer Datei oder eines Verzeichnisses wie unten gezeigt beibehalten: Sie können auch nur die erforderlichen Eigenschaften wie Modus, Eigenschaften, Zeitstempel usw. beibehalten. Im folgenden Beispiel wird der Modus einer Datei beibehalten beim Kopieren:

$ ls -l sample.txt
-rw-r - r-- 2 bala geek 1038 9 gennaio 18:40 sample.txt

$ cp -p sample.txt test /

$ ls -l test / sample.txt
-rw-r - r-- 2 bala geek 1038 9 gennaio 18:40 test / sample.txt


$ cp --preserve = mode sample.txt test /

10. Nur kopieren, wenn die Quelldatei neuer als das Ziel ist oder fehlt

Das Kopieren dauert für eine kleine Datei nicht lange, beim Kopieren einer großen Datei kann es jedoch lange dauern. Wenn Sie also eine große Datei kopieren, sollten Sie sicherstellen, dass Sie dies nur tun, wenn die Quelldatei neuer als die Zieldatei ist oder wenn die Zieldatei fehlt, indem Sie die Option -u verwenden (siehe unten).

In diesem Beispiel werden die beiden Dateien LICENSE und readme.txt aus dem Projekt / in das Projektbackup / kopiert. Die LICENSE-Datei ist jedoch bereits im Verzeichnis projectbackup / vorhanden und aktueller als die im Verzeichnis project /.

$ cd project/ 
$ ls -l LICENSE readme.txt 
-rw-r--r-- 1 bala geek 108 Jan 8 13:14 LICENSE 
-rw-r--r-- 1 bala geek 32 Jan 8 13:16 readme.txt 
$ cd /home/thegeekstuff/projectbackup/ 
$ ls -l LICENSE readme.txt  
ls: cannot access readme.txt: No such file or directory 
-rw-r--r-- 1 root root 112 Jan 9 20:31 LICENSE

In diesem Beispiel müssen Sie die LICENSE-Datei also nicht zurück in das Verzeichnis projectbackup / kopieren. Dies wird automatisch vom Befehl cp behandelt, wenn Sie die Option -u wie unten gezeigt verwenden. Im folgenden Beispiel wurde nur die Datei readme.txt kopiert, wie durch den Zeitstempel in die Datei angegeben.

$ cp -u -v LICENSE readme.txt /home/thegeekstuff/projectbackup/ 
`readme.txt' -> `/home/thegeekstuff/projectbackup/readme.txt' 
$ cd /home/thegeekstuff/projectbackup/ 
$ ls -l LICENSE readme.txt 
-rw-r--r-- 1 bala geek 112 Jan 9 20:31 LICENSE 
-rw-r--r-- 1 bala geek 32 Jan 9 22:17 readme.txt

Kommentare

Beliebte Posts aus diesem Blog

CCleaner für Windows 11: Herunterladen & Installieren (32-Bit und 64-Bit)

Hallo Leser!! Wie geht es dir. Ich hoffe es geht euch allen super. Windows 11 ist das neueste Betriebssystem von Microsoft und die Leute lieben es. Die meisten Benutzer, die auf Windows 11 aktualisieren, suchen immer noch nach der Software, die sie seit Jahren verwenden. Hier führen wir Sie, um sie offiziell zu erhalten. Lesen Sie auch: Probieren Sie Norton Anitivirus für Ihren Windows 11-Computer oder Laptop aus. Schritte zum Herunterladen und Installieren von CCleaner für Windows 11 Klicken Sie hier, um das offizielle CCleaner-Setup herunterzuladen. Doppelklicken Sie auf die Installationsdatei und folgen Sie den Anweisungen auf dem Bildschirm. Starten Sie die App, sobald die Installation abgeschlossen ist. Das ist es. Sie können CCleaner auf Ihrem Microsoft Windows 11 verwenden. Kompatible Geräte: Alle PCs, Laptops mit 32-Bit- oder 64-Bit-Microsoft Windows 11. Wenn Sie Fragen haben, können Sie Ihre Kommentare unten einfügen. Lesen Sie auch: Installieren Sie Google Chrome unter Window...

Möglichkeit zum Herunterladen und Installieren von Microsoft Edge unter Windows 11

Windows 11 bietet auch fast jede Software unter Windows 11 an.  Wenn Sie mit einer 32-Bit-Version oder einer 64-Bit-Version arbeiten, können Sie Microsoft Edge verwenden. Schritte zum Herunterladen und Installieren von Microsoft Edge unter Windows 11 Rufen Sie die  Download-  Seite für Microsoft Edge auf. Klicken Sie auf den Download-Button. Suchen Sie das Setup und doppelklicken Sie, um die Installation zu starten. Folgen Sie den Anweisungen auf dem Bildschirm und warten Sie, bis die Installation abgeschlossen ist. Das ist es.  Genießen Lesen Sie :  So installieren Sie Google Chrome unter Windows 11

Möglichkeit zum Herunterladen und Installieren von Google Drive unter Windows 11

Die Verwendung von Google Drive auf Windows 11-PCs und -Laptops ist absolut kostenlos und Sie können es in wenigen Sekunden installieren.  Das Setup funktioniert auf 32-Bit- und 64-Bit-Windows. Schritte zum Herunterladen und Installieren von Google Drive unter Windows 11 Laden Sie zuerst das offizielle Google Drive-Setup herunter (  Klicken Sie hier  ) Suchen Sie nach Abschluss des Downloads das Setup und doppelklicken Sie, um die Installation zu starten. Folge den Anweisungen auf dem Bildschirm. Geben Sie nun Ihre Zugangsdaten ein, wenn Sie dazu aufgefordert werden. Das ist es.  Sie können über den normalen Ordner auf Google Drive zugreifen. Mit Google Drive können Benutzer Dateien im Cloud-Speicher speichern.  Es ist 100% sicher und zuverlässig.  Wenn Sie Fragen haben, können Sie Ihre Kommentare unten einfügen. Lesen Sie auch:  So installieren Sie Google Chrome unter Ubuntu