Возможно ли 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