Кращий спосіб копіювання декількох каталогів у новий каталог


33

Чи є кращий спосіб у командному рядку по суті виконати наступне, але за допомогою однієї команди

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

Я щойно нанизував їх крапкою з комою.

Відповіді:


63

Копіювання папок в іншу папку (папка в папку):

cp -r css images js backups ar/

Примітка. Це відрізняється від копіювання лише самого вмісту (вміст папок у папку):

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

4
косоокість має значення! завжди підозрювали, ніколи не знали
Петро Пергач

2
косоокість не має значення в моєму тестуванні. cpне є rsync. проте cp -r css/. images/. ar/копіює вміст без каталогів. моя версія CP - "cp (GNU coreutils) 8.29".
sourcejedi

1

Відповідь проста, і вона працює на Debian "це насправді, як я це зробив" (перевірено) дозволяє сказати, що ви перебуваєте в / і т. Д. І хочете скопіювати деякі файли та папки, перш ніж форматувати ваш жорсткий диск (чомусь) ви введіть наступне, і все, що згадується нижче, буде скопійовано в / 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/

як ви бачите вище, я намагався скопіювати папки ззовні тощо , а також вказуючи на його розташування, як / boot / grub / або / opt /, і це спрацювало!


1
Я вважаю, що -r це не потрібно, оскільки -a вже містить його (через: man).
Девід Поточник

-2

Ви не можете скопіювати два каталоги, використовуючи cpодну команду.

Ви можете скопіювати рекурсивно, використовуючи -rопцію.

Наприклад:

cp -r <source> <destination> 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.