copiar un directorio en otro directorio y crear directorios intermedios

copiar un directorio en otro directorio y crear directorios intermedios

quisiera copiarlo completo/usr/share/zoneinfo/directorio en /var/www/clients/client1/web5/./usr/compartir/zoneinfo/. ( /./Se agrega por motivos de claridad y formato)

El directorio /var/www/clients/client1/web5/ existe, pero el directorio subyacenteusr/compartir/zoneinfoel directorio no.

¿Hay alguna manera de hacer esto con un solo comando o tengo que llamar mkdir -pprimero?

Pensé cp --parentsque haría precisamente eso, pero parece que solo funciona cuando se copia un solo archivo, no un directorio completo.

Respuesta1

Debido a que está especificando una ubicación de destino /var/www/clients/client1/web5/./usr/share/zoneinfo/, cpprimero buscará asegurarse de que exista el directorio para escribir archivos. Entonces sí, primero deberá crear el directorio. Sin embargo, si /var/www/clients/client1/web5/./usr/share/ya está presente, debería poder:

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

ya que el directorio de destino existe para escribir el zoneinfodirectorio.

Respuesta2

rsync -a --relativeHizo el truco.

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

El crédito va aunix_ninjaeneste tuit

información relacionada