Búsqueda de sitios web

Copie archivos y cambie la propiedad y los permisos al mismo tiempo


Este breve tutorial describe cómo copiar archivos y cambiar la propiedad y los permisos al mismo tiempo desde la línea de comandos en sistemas operativos tipo Unix.

Generalmente usamos el comando "cp" para copiar archivos de una ubicación a otra. Luego, usamos los comandos "chmod" y "chown" para cambiar los permisos y la propiedad de un archivo, respectivamente.

Sin embargo, podemos combinar todas estas tareas en un comando de una sola línea y aún así obtener el mismo resultado en lugar de ejecutar los tres comandos consecutivos. Esto puede resultar útil cuando desee hacer esto de forma regular o dentro de un script.

Copie archivos y cambie la propiedad y los permisos al mismo tiempo

Eche un vistazo al siguiente ejemplo.

Para copiar archivos y cambiar permisos y propiedad, normalmente hacemos:

cp /dir1/file1 /dir2
chmod 775 -R /dir2
chown -R newowner:newgroup /dir2/file1

Sin embargo, no es necesario utilizar tres comandos para esta sencilla tarea. Esto lo podemos hacer con un solo comando. Aquí es donde el comando "instalar" resulta útil.

Pensé que el comando "instalar" estaba destinado a instalar cosas. ¡Pero estaba equivocado! El comando "instalar" se utiliza para copiar archivos al destino de su elección y establecer atributos. Es parte de GNU coreutils que viene preinstalado con todas las distribuciones de Linux.

Ahora, déjame mostrarte cómo cambiar los permisos y la propiedad de un archivo durante la copia.

sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2

El comando anterior copiará el archivo /dir1/file1 a /dir2, cambiará los permisos del archivo a 775, el propietario a sk, y el grupo a ostechnix.

Analicemos el comando anterior y veamos qué hace cada parte del comando.

  • -C, (--compare): compara cada par de archivos de origen y de destino y, en algunos casos, no modifica el destino en absoluto.
  • -m, (--mode): establece el modo de permiso (como en chmod).
  • -o, (--owner): establece la propiedad del usuario.
  • -g, (--group): establece la propiedad del grupo.

Para obtener más detalles, consulte las páginas de manual.

man install

Lectura sugerida:

  • Cómo mantener intactos la propiedad y los permisos de archivo al copiar archivos o directorios
  • ExplainShell: encuentre qué hace cada parte de un comando de Linux

Y eso es todo. Espero que esto ayude.

Artículos relacionados