Besserer Weg, um mehrere Verzeichnisse in ein neues Verzeichnis zu kopieren


33

Gibt es einen besseren Weg in der Befehlszeile, um im Wesentlichen das Folgende zu erreichen, aber mit einem einzigen Befehl?

cp -r css/ ar/
cp -r images/ ar/
cp -r js/ ar/
cp -r backups/ ar/

Ich habe sie gerade mit einem Semikolon aneinander gereiht.

Antworten:


63

Ordner in einen anderen Ordner kopieren (Ordner in Ordner):

cp -r css images js backups ar/

Hinweis: Dies unterscheidet sich vom Kopieren nur der Inhalte selbst (Inhalte von Ordnern in Ordnern):

cp -r css/ images/ js/ backups/ ar/

4
Die Schrägstriche machen einen Unterschied! immer vermutet, nie gewusst
Peter Perháč

2
Schrägstriche machen bei meinen Tests keinen Unterschied. cpist nicht rsync. jedoch cp -r css/. images/. ar/macht die Inhalte ohne die Verzeichnisse kopieren. meine cp version ist "cp (GNU coreutils) 8.29".
Sourcejedi

1

Die Antwort ist einfach und funktioniert unter Debian. "Das ist tatsächlich so, wie ich es gemacht habe." (Getestet) Nehmen wir an, Sie befinden sich in / etc und möchten einige Dateien und Ordner kopieren, bevor Sie Ihre Festplatte formatieren (aus irgendeinem Grund) Geben Sie Folgendes ein und alles, was unten erwähnt wird, wird in den Ordner / mybackups / kopiert :

sudo cp -r -a apt/ bash.bashrc environment hosts init.d/ init/ nginx/ proxychains.conf sudoers sysctl.d/ profile.d/ grub.d/ /boot/grub/ /opt/ /root/ /var/www/ /mybackups/

Wie Sie oben sehen können, habe ich versucht, Ordner von außerhalb usw. zu kopieren, indem ich auf den Speicherort wie / boot / grub / oder / opt / zeigte, und es hat funktioniert!


1
Ich glaube -r wird dort nicht benötigt, da -a es bereits enthält (via: man).
David Potočnik

-2

Sie können zwei Verzeichnisse nicht cpallein mit dem Befehl kopieren .

Sie können jedoch mithilfe der -rOption rekursiv kopieren .

Beispielsweise:

cp -r <source> <destination> 
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.