¿Cómo ejecuto recursivamente chmod
o chown
para archivos ocultos?
sudo chmod -R 775 *
No funciona en archivos ocultos.
Lo mismo vale para sudo chown -R user:group
.
¿Cómo ejecuto recursivamente chmod
o chown
para archivos ocultos?
sudo chmod -R 775 *
No funciona en archivos ocultos.
Lo mismo vale para sudo chown -R user:group
.
Respuestas:
Si está bien también modificando el directorio actual, haga eso y deje que -R
haga el trabajo pesado. -R
No ignora los archivos ocultos.
sudo chmod -R 775 .
ls
es analizable; tratar de analizarlo es pedir problemas. El enfoque adecuado es usar el engrosamiento de conchas.
sudo chmod 775 -R
iría hacia arriba, así que siga con esta respuesta .
*
no incluye archivos ocultos por defecto, pero si estás en bash, puedes hacerlo con:
shopt -s dotglob
Lea más sobre esto en el builtin
manual de bash :
Si está configurado, Bash incluye nombres de archivo que comienzan con un '.' en los resultados de la expansión del nombre de archivo.
Esto hará que también *
incluya archivos ocultos.
chmod -R 775 *
Desactívelo con:
shopt -u dotglob
zsh
?
(D)
calificador global, por ejemplochmod -R 775 *(D)
Todos los archivos en el directorio actual, recursivamente, incluidos los archivos ocultos:
chmod 755 -R ./* ./.[!.]*
Todos los archivos en el directorio actual, no recursivamente, incluidos los archivos ocultos:
chmod 755 ./* ./.[!.]*
Esto no cambiará un nombre de archivo de excepción que comience con 2 puntos, por ejemplo, "./..thisonescapesunharmed.txt"
Además, tenga cuidado de no eliminar el bit "x", de lo contrario no se podrá acceder a todos sus directorios (se necesita el bit x para cd en un directorio).
Recuerde esta alerta: nunca use bare *
sino en su ./*
lugar.
Para evitar problemas al establecer permisos en directorios, use find
en su lugar.
find . -type f -exec chmod `VALUE` {} \;
* .*
) no es la forma más segura de hacerlo. Particularmente, volvería a aparecer en el directorio principal, lo que significa quechmod
también son hermanos del directorio actual. La forma correcta sería* ..?* .[^.]*
o, incluso mejor (teniendo en cuenta que los comodines podrían no coincidir con ningún archivo)$(ls -A)
.