Te acaban de pasar varios directorios en un pendrive y cuando intentas editarlos o compilarlos... Oh oh, sólo tienes permisos de lecturas. ¿Cómo cambio todo recursivamente?

Lo primero que te puede venir a la cabeza es:

sudo chmod -R 755 ./*

Pero te das cuenta que esto cambia TODOS los permisos de TODOS los ficheros a partir del directorio indicado (recuerda que en Linux cualquier cosa es un fichero, incluido los directorios).

Entonces, tal vez, te interese este pequeño truco que sólo cambia los permisos de los ficheros, no de los directorios. utilizando el comando find.

find . -type f -print | xargs chmod 755

Añadiendo una búsqueda más concreta en lugar de "." podemos refinar más el cambio de permisos, cambiando sólo los de cierta extensión:

find ./*.c -type f -print | xargs chmod 755

O los que empiecen con cierta cadena:

find ./math* -type f -print | xargs chmod 755

Esperamos que pueda seros de utilidad y no os traiga de cabeza la recursividad.