Lepszy sposób na skopiowanie wielu katalogów do nowego katalogu

33

Czy istnieje lepszy sposób w wierszu poleceń, aby zasadniczo wykonać następujące czynności, ale za pomocą jednego polecenia

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

Właśnie łączyłem je za pomocą średnika.

Jeff Schaller
źródło

Odpowiedzi:

63

Kopiowanie folderów do innego folderu (folder w folderze):

cp -r css images js backups ar/

Uwaga: różni się to od kopiowania samej zawartości (zawartości folderów w folderze):

cp -r css/ images/ js/ backups/ ar/
porton
źródło
4
Cięcie robi różnicę! zawsze podejrzewany, nigdy nie wiedział
Peter Perháč
2
ukośniki nie mają znaczenia w moich testach. cpnie jest rsync. jednak cp -r css/. images/. ar/kopiuje zawartość bez katalogów. moja wersja cp to „cp (GNU coreutils) 8.29”.
sourcejedi
1

Odpowiedź jest prosta i działa na Debianie „tak właśnie to zrobiłem” (testowane) pozwala powiedzieć, że jesteś w / etc i chcesz skopiować niektóre pliki i foldery przed sformatowaniem dysku twardego (z jakiegoś powodu) wpisz następujące, a wszystko wymienione poniżej zostanie skopiowane do folderu / mybackups / :

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/

jak widać powyżej, próbowałem również skopiować foldery z zewnątrz itp ., wskazując na jego lokalizację, taką jak / boot / grub / lub / opt / i zadziałało!

M03
źródło
1
Wierzę, że -r nie jest potrzebny, ponieważ -a już go zawiera (przez: man).
David Potočnik,
-2

Nie można skopiować dwóch katalogów za pomocą cpsamego polecenia.

Możesz jednak kopiować rekurencyjnie za pomocą -ropcji.

Na przykład:

cp -r <source> <destination> 
suman
źródło