command-line – ¿Cómo puedo usar chmod / chown una lista específica de archivos?

Pregunta:

Quiero escribir un script .sh para configurar algunos permisos de carpeta, pero me preguntaba si puedo ejecutar algo como:

chown -644 ./one;/two;/three

chown para una lista de carpetas, en lugar de llamar a chown varias veces.

Además, ¿habría una forma de seleccionar una lista de archivos y excluir algunos otros, como por ejemplo:

chown -R -664 ./*;!./cache

Espero que mis pseudo líneas de comando tengan sentido.

Respuesta:

Casi todas las herramientas de Unix aceptan una lista de archivos como argumentos sin opciones. Como es habitual, los diferentes argumentos deben estar separados por un espacio:

chmod 644 one two three

En su segundo ejemplo, si usa Bash, un simple

chmod -R 644 !(cache)

será suficiente.

Este enfoque requiere una mayor coincidencia de patrones. Si está deshabilitado, puede habilitarlo con

shopt -s extglob

Ver: Manual de referencia de Bash # Coincidencia de patrones

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım