Comment appliquer récursivement les directorys chmod sans affecter les files?

Après avoir appliqué chmod -R à un directory, les permissions sont modifiées pour tout ce qui se trouve dans (files et directorys). Comment puis-je append des permissions d'exécution / search ( x ) aux directorys sans modifier les files?

Vous pouvez utiliser la search .

 find ./ -type d -execdir chmod 750 {} + 

Où 750 est le mode que vous souhaitez appliquer et "./" est le directory que vous searchrez récursivement.

EDIT : Merci à @Gilles et à find (1) , j'ai révisé ceci pour plus de security et de performance.

Dans ce cas particulier, vous pouvez utiliser X au lieu de x qui ajoute seulement les bits aux directorys ou aux files qui ont déjà le bit exécutable défini pour un user (ie chmod -R +X my_dir ).

En général (par exemple, si vous voulez rendre tous les directorys lisibles sans affecter les files), vous pouvez utiliser find avec -type d ou si vous utilisez zsh (ou bash 4 avec shopt -s globstar ) les deux sans passer le drapeau -R à chmod ).