Para cambiar el permiso de archivo, sé que podría usar chmod. Para cambiar el propietario del grupo, podría usar chgrp. Sin embargo, si quiero cambiar tanto el permiso como el propietario al mismo tiempo, ¿algún comando que pueda usar en Linux?
Por ejemplo, hay un archivo con este permiso y propietario:
-rw-r--r--+ 1 raymondtau staff 0 May 8 16:38 WantToChangeThisFile
Y ahora quiero cambiarlo a:
---x-w--wx+ 1 raymondtau admin 0 May 8 16:38 WantToChangeThisFile
Sé que podría usar este comando: chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFile
pero quiero saber si hay alguna forma clara de hacerlo.
ch
.Si lo que también desea es copiar el archivo en algún lugar (como su destino final), es posible que desee ver el
install
comando:install -m 0777 -o root $sourcefile $destinationfile
fuente
Usar la herramienta adecuada para el trabajo en * nix es importante, pero de hecho, repetir la misma ruta en cada comando encadenado parece una tontería. En cambio, realmente debería usar variables Bash, y en scripts más pequeños, especialmente hacer uso de
$_
.Su comando se convertiría en:
chmod 123 WantToChangeThisFile && chgrp admin $_
ALT +. hace lo mismo al extraer el último argumento utilizado en su shell actual.
fuente
Rsync es útil en este caso:
Del manual fino (TM)
--chown = USER: GROUP nombre de usuario simple / asignación de nombre de grupo
--chmod = CHMOD afecta los permisos de archivo y / o directorio
Entonces, por ejemplo, desea chmod / mnt / lala / lala4000 / "ugo = rX" y chown "foo.bar"
rsync --chmod = ugo = rX --chown = foo: bar -rvtpolgh / mnt / lala / lala4000 / / mnt / lala / lala4000 /
Esto recursivamente chown y chmod el directorio.
fuente
Podrías alcanzar un objetivo con un
rsync
comando largofuente
Puedes hacer
chown username:groupname file ...
para cambiar ambos simultáneamente. Está cambiando dos campos en la misma estructura (inodo), por lo que al combinarlo se ahorran dos llamadas al sistema (una para leer los valores actuales y otra para configurar las variables modificadas).fuente
chown
Solo cambia los propietarios. ¿Cómo cambia esto los permisos al mismo tiempo que OP solicitó? Nota El ejemplo de OP incluyechmod
también a.fuente