
Eu gostaria de copiar tudo/usr/share/zoneinfo/diretório em /var/www/clients/client1/web5/./usr/share/zoneinfo/. (O /./
é adicionado para fins de clareza e formatação)
O diretório /var/www/clients/client1/web5/ existe, mas o diretório subjacenteusr/compartilhar/zoneinfodiretório não.
Existe uma maneira de fazer isso com um único comando ou preciso ligar mkdir -p
primeiro?
Pensei cp --parents
em fazer exatamente isso, mas parece que só funciona ao copiar um único arquivo, não um diretório inteiro.
Responder1
Como você está especificando um local de destino /var/www/clients/client1/web5/./usr/share/zoneinfo/
, cp
primeiro verificará se existe esse diretório para gravar arquivos. Então sim, você precisará criar o diretório primeiro. No entanto, se /var/www/clients/client1/web5/./usr/share/
já estiver presente, você deverá ser capaz de:
cp -pr /usr/share/zoneinfo /var/www/clients/client1/web5/./usr/share/zoneinfo
já que existe o diretório de destino para gravar o zoneinfo
diretório.
Responder2
rsync -a --relative
fez o truque.
rsync -a --relative /usr/share/zoneinfo/ /var/www/clients/client1/web5/
O crédito vai paraunix_ninjasobreeste tweet