
¿Cómo configuro todos los archivos *.java en el directorio actual y todos sus subdirectorios para que tengan permiso de lectura para todos los usuarios?
También quiero configurar todos los archivos de al menos 1 kilobyte de tamaño en el directorio actual y todos los subdirectorios para que tengan un grupo de administradores.
Respuesta1
Alternativa:Para configurar el permiso de lectura para todos los archivos .java en el directorio actual, use este comando:
chmod -R 444 *.java
Configurar todos los archivos de al menos 1 kilobyte de tamaño en el directorio actual y todos los subdirectorios para que tengan un grupo de administrador.
find /yourdirectorypath -size +1k -exec chgrp admin {} \;
Nota:la "-R" indica recursivo que también cubrirá sus subdirectorios
Respuesta2
¿Cómo configuro todos los archivos *.java en el directorio actual y todos sus subdirectorios para que tengan permiso de lectura para todos los usuarios?
En bash ≥4.0 y zsh:
chmod a+r ./**/*.java
En cualquier sistema compatible con POSIX (es decir, cualquier variante de Unix no antigua y más):
find . -name '*.java' -exec chmod a+r {} +
Configure todos los archivos de al menos 1 kilobyte de tamaño en el directorio actual y todos los subdirectorios para que tengan un grupo de administradores.
En zsh:
chgrp admin ./**/*(.L+1023)
En cualquier sistema compatible con POSIX:
find . -type f -size +1023c -exec chgrp admin {} +
Respuesta3
Utilice buscar y xargs
find . -name \*.java | xargs chmod o+r
o
find . -name \*.java -print0 | xargs -0 chmod o+r
La segunda versión maneja espacios en nombres de archivos o directorios.
Es posible que también deba corregir los permisos del directorio.
find . -type d -print0 | xargs -0 chmod o+rx
Puede evitar actualizar permisos que ya sean correctos. Consulte la página de manual para buscar y revisar la sección sobre permisos.
Respuesta4
Para establecer permisos de lectura para todos los archivos .java en el directorio actual, use este comando
chmod +r *.java