Как использовать `rsync -R` с несколькими подкаталогами или установить -D с несколькими файлами?

Как использовать `rsync -R` с несколькими подкаталогами или установить -D с несколькими файлами?

Возможно ли rsyncкопировать несколько файлов из исходного каталога в целевой каталог с несколькими подкаталогами, которых не существует? Или использовать install -Dс несколькими файлами в каталог, который не существует?

Также я посмотрел, cp --parentsно использовал имя исходного каталога. Возможно ли, что cpможно выбрать целевой каталог, который не существует, и скопировать в него все файлы после того, как он его создаст?

У меня такой вопрос:Копирование файла в несуществующий каталог с помощью одной команды (Linux) Слиться с:Как можно скопировать файл и одновременно создать целевые каталоги?

Но решения для копирования одного файла я рассматриваю примерно так:

cp /etc/*.conf ~/mytest/ 

где mytest не существует и /etc/*.confэто более одного файла. Возможно ли с cpи только с одной командой лучше?

решение1

Попробуйте rsyncкоманду:

rsync -av /etc/*.conf ~/mytest

В общем, вы можете использовать

rsync -av In/*conf Out/NewDir

Предыдущая ситуация такова:

In
├── d1.conf
├── d2.conf
├── d3.txt
├── Sub_In_1
└── Sub_In_2.conf
    └── SubIn2.Files

Out
└── Out_OldFiles

После того как команда будет

Out
├── NewDir
│   ├── d1.conf
│   ├── d2.conf
│   └── Sub_In_2.conf
│       └── SubIn2.Files
└── Out_OldFiles

В этом случае вы выбираете не только общие файлы, *.confно и даже каталог Sub_In_2.conf. Вы скопируете весь выбор (файлы и каталог) в новый каталог NewDirпод Outкаталогом.

Опция -aвключает даже -r (рекурсия в каталоги)

  -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)

Примечания

  • Рекурсивный rsyncвариант:(и не).
  • В cp-r и -R соответствуют одной и той же опции.
  • Эта опция -vнеобязательна, она просто дает некоторую дополнительную информацию.
  • С ним rsyncвы можете работать даже между двумя разными компьютерами, используя их host1в качестве исходного хоста и host2хоста назначения.

Последняя команда:

rsync  -av host1:InputDir host2:OutputDir/NewDirThatDidNotExists

Связанный контент