El archivo fuente no debe terminar en una /
.
Explicación
Nota: Estoy usando macOS Catalina 10.15.7.
Para rsync
, el comportamiento es lo contrario a lo que tu pregunta espera, como se documenta en man rsync
. A continuación se muestra un extracto.
rsync -avz foo:src/bar/ /data/tmp
Una barra diagonal al final de la fuente cambia este comportamiento para evitar crear
un nivel de directorio adicional en el destino. Puedes pensar en una
barra diagonal al final de una fuente como "copiar el contenido de este directorio"
en lugar de "copiar el directorio por nombre", pero en ambos casos los
atributos del directorio contenedor se transfieren al
directorio contenedor en el destino. En otras palabras, cada uno de los comandos
siguientes copia los archivos de la misma manera, incluyendo su configuración
de los atributos de /dest/foo:
rsync -av /src/foo /dest
rsync -av /src/foo/ /dest/foo
El comando cp
también se comporta como rsync
, como se documenta en man cp
. A continuación se muestra un extracto.
-R Si el archivo_fuente designa un directorio, cp copia el directorio y
todo el subárbol conectado en ese punto. Si el archivo_fuente
termina en una /, se copian los contenidos del directorio en lugar de
el directorio mismo. Esta opción también hace que los enlaces simbólicos se
copien en lugar de ser indirectos, y para que cp cree archivos especiales
en lugar de copiarlos como archivos normales. Los
directorios creados tienen el mismo modo que el directorio fuente correspondiente,
sin modificar por la máscara de usuarios del proceso.