J'ai un répertoire avec de nombreux fichiers. Une partie des fichiers a les 755
autorisations et l'autre partie a des 644
autorisations. Je voudrais convertir les fichiers avec des 755
autorisations en 644
. J'ai essayé la ligne suivante en l'exécutant à partir du répertoire lui-même:
find . -perm 755 -exec chmod 644 {}\;
Cependant, en conséquence, l'autorisation n'a changé que pour le répertoire lui-même et après l'avoir changé, j'ai découvert que les autorisations sur les fichiers restaient inchangées. Dois-je manquer quelque chose?
shell
permissions
find
Eugene S
la source
la source
find ./ -type f -exec chmod -x {} \;
plutôt.Réponses:
Ok, il semble que j'ai trouvé le problème. Il semble qu'il doit y avoir un espace obligatoire entre le
{}
et\;
, donc la commande ressemblera à ceci:Plutôt que:
Le problème de modification des autorisations de répertoire peut également être résolu en ajoutant un
-type f
indicateur, il ressemblera donc à ceci:la source
+
au lieu de\;
pour réduire le nombre de sous-processus créés.-type d
trouvera des répertoires.-type f
trouvera des fichiers.