So kopieren Sie ein Verzeichnis und seinen Inhalt in Linux

Verwenden Sie den Befehl ‚cp‘, um ganze Verzeichnisse von einem Ort zum anderen zu kopieren und einzufügen

Unabhängig davon, welches Betriebssystem Sie verwenden, ist das Kopieren einer Datei oder eines Ordners von einem Speicherort an einen anderen die grundlegendste Aufgabe, die Sie täglich ausführen. An einem arbeitsreichen Tag, während eines Projekteinsatzes in der Schule oder während der laufenden Entwicklung eines Projekts ist das Kopieren von Dateien von Standort A nach Standort B unumgänglich.

Das Kopieren von Dateien oder Ordnern erfolgt normalerweise über die GUI. Linux nimmt Ihre Gewohnheit, am Terminal zu arbeiten, ab, indem es ein Befehlszeilen-Dienstprogramm bereitstellt, mit dem Sie Dateien oder Ordner von einem Ort an einen anderen kopieren können. Verwendung der cp Befehl mit einer Vielzahl von Optionen gibt Ihnen die Freiheit, Dateien und Ordner auf verschiedene Weise zu kopieren.

Lassen Sie mich Sie durch diesen Artikel führen, in dem Sie mehr über die erfahren cp Befehl und die Möglichkeiten, Verzeichnisse zusammen mit ihrem Inhalt zu kopieren.

Optionen erhältlich mit cp Befehl

Dies sind die am häufigsten verwendeten Optionen mit dem cp Befehl im Zusammenhang mit dem Kopieren eines Verzeichnisses und seines gesamten Inhalts.

OptionenBeschreibung
-vausführlicher Modus (zeigt den Fortschritt an)
-r/RVerzeichnisse rekursiv kopieren
-nÜberschreiben Sie keine vorhandene Datei oder einen vorhandenen Ordner
-ichEingabeaufforderung vor dem Überschreiben

Kopieren Sie ein Verzeichnis von einem Ort an einen anderen

Beginnen wir mit der grundlegendsten Verwendung der cp Befehl. Wir verwenden diesen Befehl mit der Option -R.

Verwendung der -R Option stellt sicher, dass die Unterordner und Dateien innerhalb des Verzeichnisses, das Sie kopieren, ebenfalls kopiert werden.

Syntax:

cp -r [Quellstandort] [Zielstandort]

Beispiel:

Ich habe in meinem aktuellen Arbeitsverzeichnis zwei Verzeichnisse namens ‚Projekt‘ und ‚Arbeitsbereich‘.

In diesem Beispiel verwende ich die cp -r Befehl zum Kopieren des Verzeichnisses ‚project‘ zusammen mit seinem gesamten Inhalt an einen neuen Ort, z. B. ‚/home/gaurav/workspace‘. Dies bedeutet einfach, dass ich das Verzeichnis namens ‚project‘ in ein Verzeichnis namens ‚workspace‘ kopiere.

Dies sind die Inhalte des Verzeichnisses ‚project‘. Verwendung der ls Befehl, um seinen Inhalt anzuzeigen.

gaurav@ubuntu:~/project$ ls -al total 288 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:26 . drwxr-xr-x 88 gaurav gaurav 266240 17. Sep 18:24 .. drwxr-xr-x 2 gaurav gaurav 4096 17. Sep 18:25 dem1, drwxr-xr-x 2 gaurav gaurav 4096 17. Sep 18:25 dem2 drwxr-xr -x 2 Gaurav Gaurav 4096 Sep 17 18:25 dem3 drwxr-xr-x 2 Gaurav Gaurav 4096 Sep 17 18:25 dem4 -rw-r--r-- 1 Gaurav Gaurav 24 Sep 17 18:26 temp.c gaurav@ ubuntu:~/project$

Verwenden Sie nun die cp -r Befehl können wir das Verzeichnis ‚project‘ an einen beliebigen Ort kopieren.

gaurav@ubuntu:~$ cp -r /home/gaurav/project /home/gaurav/workspace gaurav@ubuntu:~$

Ausgabe:

gaurav@ubuntu:~/workspace$ ls -al total 408 drwxrwxr-x 4 gaurav gaurav 4096 Sep 17 18:27 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 17 18:24 .. drwxrwxr-x 3 gaurav gaurav 4096 22. März 2018 .metadata drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 project -rw-r--r -- 1 gaurav gaurav 1535 16. September 17:13 source.c gaurav@ubuntu:~/workspace$ 

In der obigen Ausgabe können wir sehen, dass das Verzeichnis „project“ vom ursprünglichen Speicherort an diesen neuen Speicherort „/home/gaurav/workspace“ kopiert wird. Lassen Sie uns nun das Verzeichnis ‚project‘ öffnen und prüfen, ob alle darin enthaltenen Inhalte auch kopiert werden.

gaurav@ubuntu:~$ cd ./workspace/project gaurav@ubuntu:~/workspace/project$

Notiz: Ich habe benutzt ./ hier, anstatt den kompletten Pfad einzugeben. Es bedeutet einfach, dass es mein Home-Verzeichnispfad ist und sich der Arbeitsbereich in meinem Home- oder aktuellen Arbeitsverzeichnis befindet. Weitere Erläuterungen hierzu finden Sie in diesem Artikel.

Ausgabe:

gaurav@ubuntu:~/workspace/project$ ls -al total 28 drwxr-xr-x 6 gaurav gaurav 4096 Sep 17 18:27 . drwxrwxr-x 4 gaurav gaurav 4096 Sep 17 18:27 .. drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem1, drwxr-xr-x 2 gaurav gaurav 4096 Sep 17 18:27 dem2 drwxr-xr-x 2 Gaurav Gaurav 4096 Sep 17 18:27 dem3 drwxr-xr-x 2 Gaurav Gaurav 4096 Sep 17 18:27 dem4 -rw-r--r-- 1 Gaurav Gaurav 24 Sep 17 18:27 temp.c gaurav@ubuntu: ~/workspace/project$ 

Aus dieser Ausgabe können wir schließen, dass auch der gesamte Inhalt des Verzeichnisses ‚Projekt‘ an den neuen Ort verschoben wird.

Mehrere Verzeichnisse von einem Ort zum anderen kopieren

Um mehrere Verzeichnisse zu kopieren, cp Der Befehl kann auf die gleiche Weise wie oben beschrieben verwendet werden. Die einzige Änderung hier besteht darin, dass Sie die mehreren Quellpfade der mehreren zu kopierenden Verzeichnisse eingeben müssen.

Syntax:

cp -r [Quellpfad_1] [Quellpfad_n] [Zielpfad]

Lassen Sie uns diesen Befehl anhand eines Beispiels überprüfen.

Beispiel:

gaurav@ubuntu:~/workspace$ cp -r ./snap ./project /home/gaurav/tomcat

Hier habe ich zwei Verzeichnisse ‚snap‘ und ‚project‘ aus meinem aktuellen Arbeitsverzeichnis an einen neuen Ort ‚/home/gaurav/tomcat‘ kopiert.

Lassen Sie uns nun überprüfen, ob die Verzeichnisse mit ihrem Inhalt an den neuen Ort kopiert werden.

gaurav@ubuntu:~/tomcat$ ls -al total 9316 drwxrwxr-x 5 gaurav gaurav 4096 19. September 12:16 . drwxr-xr-x 88 gaurav gaurav 266240 Sep 19 12:15 .. drwxr-xr-x 6 gaurav gaurav 4096 Sep 19 12:16 project drwxr-xr-x 7 gaurav gaurav 4096 Sep 19 12:16 snap

Prüfen, ob der Inhalt dieser Verzeichnisse auch kopiert wird.

gaurav@ubuntu:~/tomcat/snap$ ls couchdb eclipse htop pycharm-community vim-editor gaurav@ubuntu:~/tomcat/snap$ 
gaurav@ubuntu:~/tomcat/project$ ls dem1, dem2 dem3 dem4 temp.c gaurav@ubuntu:~/tomcat/project$

Verwenden von cp Befehl mit ausführlichem Modus

Verwendung der cp Befehl mit der Option -v aktiviert den ausführlichen Modus. Diese Funktion zeigt die Dateien auf dem Terminal an, die kopiert werden. Der Name der kopierten Datei oder des Ordners wird auf Ihrem Terminal angezeigt.

Syntax:

cp -vr [Quellverzeichnis] ​​[Zielpfad_Pfad]

Beispiel:

gaurav@ubuntu:~$ cp -vr ./workspace/apache ./space

In diesem Beispiel wird das Verzeichnis ‚apache‘ in einen neuen Ordner ‚space‘ kopiert. Ich habe die benutzt -v Option mit -R, damit auch der gesamte Inhalt des Apache-Verzeichnisses kopiert wird.

Ausgabe:

'./workspace/apache' -> './space/apache' './workspace/apache/apache-tomcat-8.0.52.tar.gz' -> './space/apache/apache-tomcat-8.0. 52.tar.gz' gaurav@ubuntu:~$

Die Ausgabe zeigt das Verzeichnis an, das kopiert wird. Der gleiche Vorgang kann beim Kopieren mehrerer Dateien durchgeführt werden.

Überschreiben bei der Verwendung vermeiden cp Befehl

Manchmal während der Verwendung des cp Befehl zum Kopieren mehrerer Dateien oder Ordner, überschreiben Sie möglicherweise Dateien, die bereits an den neuen Speicherort kopiert wurden. Um dies zu vermeiden, empfiehlt es sich, die -ich Option mit der cp Befehl. Dies fordert Sie auf, bevor eine Datei oder ein Ordner überschrieben wird.

Syntax:

cp -ri [source_directory_path] [target_location_path]

Notiz: Hier in der von mir verwendeten Syntax -R auch Option. Dadurch wird auch der Inhalt der Verzeichnisse kopiert. Es wird auch prüfen, ob einer dieser Unterordner und Dateien innerhalb des Verzeichnisses überschrieben wird.

Beispiel:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat cp: './tomcat/snap/pycharm-community/current' überschreiben?

Hier habe ich versucht, ein Verzeichnis namens ‚snap‘ an einen neuen Ort zu kopieren. Aber der Verzeichnisname ‚snap‘ existiert bereits an der neuen Stelle. Daher werde ich vom Terminal aufgefordert, bevor das vorhandene Snap-Verzeichnis überschrieben wird.

Du kannst Tippen 'ja' oder 'Nein‘ als Antwort auf diese Aufforderung.

Falls Sie die nicht verwenden -ich Option wird das vorhandene Verzeichnis durch das neue Verzeichnis überschrieben.

Überschreiben von Dateien und Verzeichnissen mit überspringen cp Befehl

Wir können das gebrauchen -n Option, um das Terminal direkt anzuweisen, ähnliche Dateien und Verzeichnisse niemals zu überschreiben und einfach zu überspringen, während Sie das cp Befehl.

Syntax:

cp -nr [source_directory_path] [target_location_path]

Mit diesem Befehl können Sie sicher sein, dass Ihre Dateien und Ordner nicht überschrieben werden.

Beispiel:

gaurav@ubuntu:~$ cp -ri ./workspace/snap ./tomcat gaurav@ubuntu:~$

Hier ist das Verzeichnis ‚snap‘ bereits am Zielort vorhanden. Daher verwenden -n Option stellt sicher, dass dieses Verzeichnis nicht überschrieben wird.

nicht wie -ich Option, hier werden Sie nicht zum Überschreiben aufgefordert.

Fazit

Verwendung der cp Befehl zum Kopieren von Verzeichnissen und deren Inhalt in Linux ist ein einfacher Vorgang. Um mehr über die . zu erfahren cp Befehl mit anderen verfügbaren Optionen können Sie die Handbuchseite lesen, indem Sie eingeben Mann cp in Ihrem Linux-Terminal.