Chmod - Droits de fichiers

Bonjour,

Je souhaite modifier des droits sur des fichiers dans une arborescence de plusieurs centaines de répertoire et sous-répertoires mais sans changer les droits de ces répertoires et sous-répertoires.

Le problème est que dans ces répertoires certains comportent un "."
Je ne peut donc utiliser la commande suivante : “chmod -R 664 .” sinon ces répertoires se retrouvent avec des droits également modifiés !

Si quelqu’un a une idée !
Merci.

find . -type f | xargs chmod 664

C’est pas mal !
Question supplémentaire : avec cette commande, comment gérer les espaces dans les noms de fichiers ou de répertoires ? ? (parce que apparemment ces derniers ne passent pas)
(c’est un partage samba utilisé par des clients Windows et il y a des espaces partout dans les noms…)

Merci encore.

find . -type f | awk ‘{print “chmod 644 “”$0"”"}’ | sh

Re-bonjour,

bravo et merci beaucoup je n’aurai jamais trouvé tout seul.
Cela fonctionne impecable.

Juste une question : à quoi sert le “| sh” à la fin ?

  • find . -type f te sort les fichiers
  • awk ‘{print “chmod 644 “”$0"”"}’ fabrique une liste de commandes de la forme
    chmod 644 “chaque nom de fichier trouvé avec les blancs entre «”»"
  • sh exécute les commandes

encore merci.
J’avais pas compris que la commande n’était pas éxecutée dans le awk :blush:

Merci beaucoup et à bientot.