Je souhaite définir l'autorisation 755 sur tous les fichiers et sous-répertoires d'un répertoire spécifique, mais je souhaite exécuter chmod 755 uniquement pour les composants qui ne disposent pas de l'autorisation 755.
find /main_directory/ -exec chmod 755 {} \;
Si la find
commande renvoie une longue liste, cela prendra beaucoup de temps. Je sais que je peux utiliser la commande stat pour vérifier l'autorisation de niveau de fichier octal de chaque composant, puis utiliser if-else pour basculer l'autorisation de fichier, mais existe-t-il une approche sur une seule ligne utilisant find
et xargs
pour vérifier d'abord quelle autorisation le fichier / répertoire a , puis utilisez-le chmod
pour le remplacer par 755 s'il est défini sur autre chose.
u+rw,go+r,go-w,ugo+X
- notez la capitale.