Je veux appliquer les autorisations 644
uniquement pour tous les fichiers du répertoire actuel et les autorisations 755
uniquement pour les sous-répertoires du répertoire actuel avec chmod
Utilisez find
:
_find ./ -type f -maxdepth 1 -exec chmod 644 {} \;
find ./ -type d -maxdepth 1 -exec chmod 755 {} \;
_
-type f
_: Fichiers-type d
_: Répertoires-maxdepth 1
_: premier niveau (pour éviter le comportement récursif par défaut)-exec
_: commande à exécuter avec l'argument du résultat_{}
_ sera remplacé par une ligne à partir des résultats. essayer:
_find ./ -type d -maxdepth 1 -exec echo hi{}low \;
_
Ceci est utile pour les commandes ayant des arguments différents comme ln
:
_ln -s {} ./otherfolder/{}
_
ou cp
_cp {} ./otherfolder/
_
_\;
_ to to _-exec
_ est la fin de la commande car vous pouvez ajouter d'autres options find
après _-exec
_ (pour éviter toute confusion). essayer:
_find ./ -type d -maxdepth 1 -exec echo
_
Référence: man find