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.

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/

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!


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> 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.