11 votos

¿Copiar recursivamente archivos y carpetas, pero conservando todo mientras se obtiene la propiedad?

Me gustaría copiar archivos y carpetas de forma recursiva desde un disco externo a mi SSD interno.

Sin embargo, cuando arrastro y suelto, y, posteriormente, cuando uso los archivos copiados, siempre se me pide que introduzca unas credenciales de administrador. No sé si es una chmod o chown o ambas (dificultades para diferenciarlas).

¿Hay alguna manera (a través de Terminal supongo) para copiar los archivos:

  • conservando todos los detalles de los archivos y carpetas (es decir, las marcas de fecha/hora originales y cualquier metadato necesario/útil);
  • pero ganando la propiedad (para no tener que introducir las credenciales de administrador cada vez que quiera mira , modificar o mover un archivo).

Supongo que es cp o rsync Pero debo admitir que tengo dificultades para clasificar y entender todos los interruptores disponibles.

9voto

meataxe Puntos 6

Para poder copiar con éxito los archivos en primer lugar, necesitas al menos tener acceso de lectura a los archivos en la ubicación original.

Para asegurarse de que puede leerlos, puede cambiar sus permisos con sudo chmod -R o+rx /drag/your/original/folder/from/Finder/here o, como se sugiere en los comentarios de su pregunta, ignorar la propiedad de la unidad por el momento, lo que deja los archivos originales sin cambios.

Para copiar realmente los archivos, utilice el siguiente comando:

cp -R /drag/your/original/folder/from/Finder/here /drag/your/target/folder/from/Finder/here/

Para obtener más información durante el proceso de copia, utilice el siguiente comando:

cp -Rv /drag/your/original/folder/from/Finder/here /drag/your/target/folder/from/Finder/here/

Tenga en cuenta la barra al final de la carpeta de destino o la propia carpeta de destino se sobrescribirá con el contenido.

Comprender los permisos al mover/copiar archivos en UNIX/BSD (el sistema subyacente de Mac OS X está basado en BSD):

  1. Al mover un archivo de A a B en la misma partición/volumen, la propiedad de los archivos no cambiará
  2. Al mover un archivo de A a B entre diferentes particiones/volúmenes, la propiedad de los archivos cambiará al usuario que los mueva (aplicando sudo al comando de copia tendrá la propiedad de los archivos de destino establecida en root )
  3. Al copiar un archivo desde A a B independientemente de la ubicación, aplicará la propiedad de los archivos de destino al usuario que los copie (aplicando sudo al comando de copia tendrá la propiedad de los archivos de destino establecida en root )

Con el número 1 sólo cambiarán internamente los descriptores de los archivos, pero no se moverá físicamente ningún archivo. Con 2 y 3 los archivos se copian físicamente a la nueva ubicación con el paso 2 haciendo un segundo paso y borrándolos de la ubicación original después de cada copia.

ACTUALIZACIÓN (para responder al comentario):

Si ha copiado los archivos con sudo puede modificar los permisos de los archivos de destino utilizando chown y chmod .

Los comandos son:

sudo chown -R <user>[:group] /drag/your/target/folder/from/Finder/here

<user> es el nombre de la cuenta de su usuario (no el nombre completo)
:group es un grupo, que por defecto para cualquier usuario es staff y para cualquier administrador es admin . Como no es necesario, puedes omitirlo para dejarlo como está (de ahí los corchetes)

sudo chmod -R 770 /drag/your/target/folder/from/Finder/here

Esto le dará a usted y al grupo primario derechos de acceso y ejecución sobre los archivos.

6voto

franksands Puntos 161

Copiar archivos sin usar chmod o chown: crea un archivo tar.gz con lo que quieras copiar:

tar cvzf backup.tgz <folder or files you want to copy>

copie el archivo tgz a su destino y expándalo allí:

tar xvzf backup.tgz

La ventaja de este método es que funciona para carpetas, manteniendo los permisos de cada archivo, la carpeta puede ser de cualquier tamaño y puede funcionar con diferentes formatos de sistemas de archivos, por ejemplo yo usé un hdd externo con exfat para copiar mi tgz de un mac a un linux sin ningún problema.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X