usuario una todos recursivo qué propietario permite permisos mac los dar comando carpeta cambiar archivos archivo macos shell permissions

macos - una - permisos linux 777



cambio de permisos para archivos y carpetas de forma recursiva mediante el comando de shell en mac (4)

En Linux podemos usar el siguiente comando para cambiar el modo de permiso de los archivos y carpetas recursivamente.

encuentre "/ Users / Test / Desktop / PATH" -exec * chmod 777 {} /;

¿Cómo podría hacer lo mismo para mac? Estoy obteniendo el siguiente error repetidamente.

buscar: TEST_FILE: no existe tal archivo o directorio


No tengo una máquina Mac OSx para probar esto, pero en bash en Linux, uso algo como lo siguiente para los directorios de sólo chmod:

find . -type d -exec chmod 755 {} /+

pero esto también hace lo mismo:

chmod 755 `find . -type d`

y también lo hace esto:

chmod 755 $(find . -type d)

Los dos últimos están utilizando diferentes formas de subcomandos. El primero es usar backticks (más antiguos y depreciados) y el otro la sintaxis del subcomando $ () .

Así que creo que en tu caso lo siguiente hará lo que quieras.

chmod 777 $(find "/Users/Test/Desktop/PATH")


Puedes usar la bandera -R (recursiva).

chmod -R 777 /Users/Test/Desktop/PATH


Usando CHMOD sí:

Para archivo recursivo:

chmod -R 777 foldername or pathname

Para no recursivos:

chmod 777 foldername or pathname


El problema es que el shell interpreta el * y se está expandiendo a un archivo llamado TEST_FILE que está en su directorio de trabajo actual, por lo que le está diciendo a find que ejecute el comando llamado TEST_FILE que no existe. No estoy seguro de lo que intentas lograr con eso * , solo debes eliminarlo.

Además, debe usar el -exec program ''{}'' /+ idiomático -exec program ''{}'' /+ lugar del -exec program ''{}'' /; para que find no bifurca un nuevo proceso para cada archivo. Con ; , se bifurca un nuevo proceso para cada archivo, mientras que con + , solo procesa un proceso y pasa todos los archivos en una sola línea de comando, lo que para programas simples como chmod es mucho más eficiente.

Por último, chmod puede hacer cambios recursivos por sí solo con la -R , así que a menos que necesite buscar archivos específicos, solo haga esto:

chmod -R 777 /Users/Test/Desktop/PATH