73 votes

chmod des fichiers uniquement dans tous les sous-répertoires

S'il vous plaît quelqu'un peut-il m'aider avec chmod, j'ai la structure de fichier suivante

-dir1
--file1
--file2
--dir1a
---file1a1
---file1a2
--dir1b
---file1b1
---file1b2

Comment puis-je chmod 655 à tous les fichiers du répertoire 1 et de ses sous-répertoires ? Ainsi, tous les fichiers auront une permission de 655 et tous les répertoires resteront tels qu'ils étaient.

Merci.

144voto

enzotib Points 86709

Mieux vaut utiliser

find . -type f -exec chmod 655 -- {} +

L'autre solution proposée par @sagarchalise ne fonctionnera pas si les noms de fichiers contiennent des espaces ou commencent par un tiret.

9voto

rck Points 151

Je pense qu'aller à l'intérieur dir1 y

find . -type f | xargs chmod 655

fera l'affaire.

Ou cette version, qui supporte les noms de fichiers avec des espaces :

find . -type f -print0 | xargs -0 chmod 655

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X