Bash : besoin de comprendre l'option -perm de find

Bonjour,

même avec le man page de find, j’ai du mal à comprendre l’option -perm mode_octal de la commande find, en utilisant le signe - ou + devant mode_octal.

Par exemple, c’est quoi la différence entre -perm -111 et -perm +111 ? Avez-vous plusieurs exemples pour comprendre ?

Merci d’avance, cordialement.

Il est indiqué dans le man
-perm +mode Déconseillée … à remplacer par -perm /mode

Je crois que
-perm -mode sélectionne seulement les fichiers qui correspondent ( au moins ) à l’ensemble des modes indiqués.
[size=85]( mode de U ET mode de G ET mode de O )[/size]

et que

-perm /mode sélectionne tous les fichiers qui correspondent à 1 seul de ces modes.
[size=85](mode de U OU mode de G OU mode de O)[/size]

Les exemples du man:

find . -perm -664

   Rechercher les fichiers qui ont la permission de lire et d'écrire pour leur propriétaire et leur  groupe,  et  que       les  autres  utilisateurs peuvent lire, sans toutefois 'intéresser à la présence d'autres bits de permissions (le bit d'exécution par exemple). 

Un fichier ayant par exemple les droits 0777 sera sélectionné.

find . -perm /222

   Rechercher les fichiers qui offrent le droit d'écriture à quelqu'un (son propriétaire,  ou  son  groupe,  ou  bien encore n'importe qui).

Il y a de nombreux autres exemples dans le man
(recherche «EXEMPLES» dans ton lecteur de man: c’est la dernière correspondance de la page)

[quote=“josephtux”]-perm /mode sélectionne tous les fichiers qui correspondent [strike]à 1 seul de ces modes[/strike].
(mode de U OU mode de G OU mode de O)[/quote]Il ne s’agit pas d’un XOR (OU exclusif), mais d’un OR.
Donc: “…tous les fichiers qui correspondent à ce mode pour [mono]u[/mono] ou/et [mono]g[/mono] ou/et [mono]o[/mono].”

[quote=“man find (section EXEMPLES)”]…
find . -perm /222
Rechercher les fichiers qui offrent le droit d’écriture à quelqu’un (son propriétaire, ou son groupe, ou bien encore n’importe qui).
…[/quote]

michel@debG53SW:~$ mkdir test && touch ./test/fich_{1..4} michel@debG53SW:~$ chmod u+x ./test/fich_1 michel@debG53SW:~$ chmod g+x ./test/fich_2 michel@debG53SW:~$ chmod ugo+x ./test/fich_3 michel@debG53SW:~$ ls -l ./test total 0 -rwxr--r-- 1 michel michel 0 août 22 01:52 fich_1 -rw-r-xr-- 1 michel michel 0 août 22 01:52 fich_2 -rwxr-xr-x 1 michel michel 0 août 22 01:52 fich_3 -rw-r--r-- 1 michel michel 0 août 22 01:52 fich_4 michel@debG53SW:~$ find ./test -perm /111 ./test ./test/fich_2 ./test/fich_3 ./test/fich_1 michel@debG53SW:~$ rm -r test michel@debG53SW:~$

Merci à tous les 2.