скопировать каталог в другой каталог и создать промежуточные каталоги

скопировать каталог в другой каталог и создать промежуточные каталоги

Я хотел бы скопировать все/usr/share/zoneinfo/каталог в /var/www/clients/client1/web5/./usr/share/зонаинфо/. ( /./Добавлено для ясности и форматирования)

Каталог /var/www/clients/client1/web5/ существует, но лежащий в его основеusr/share/зонаинформациякаталог не делает этого.

Есть ли способ сделать это одной командой или мне нужно mkdir -pсначала позвонить?

Я думал, cp --parentsчто так и будет, но, похоже, это работает только при копировании одного файла, а не всего каталога.

решение1

Поскольку вы указываете место назначения /var/www/clients/client1/web5/./usr/share/zoneinfo/, cpсначала будет проверяться, существует ли каталог для записи файлов. Так что да, вам сначала нужно будет создать каталог. Однако, если /var/www/clients/client1/web5/./usr/share/он уже существует, вы должны иметь возможность:

cp -pr /usr/share/zoneinfo /var/www/clients/client1/web5/./usr/share/zoneinfo

поскольку существует целевой каталог, zoneinfoв который можно записать данные.

решение2

rsync -a --relativeсделал свое дело.

rsync -a --relative /usr/share/zoneinfo/ /var/www/clients/client1/web5/

Заслуга в этом принадлежитunix_ninjaнаэтот твит

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