Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comportement de find

3 réponses
Avatar
Pierre
Bonjour,

Quelqu'un pourrait-il m'expliquer le comportement ci-dessous de
"find" ?

Pourquoi "find" ne trouve t-elle pas le fichier ksh lors d'une
recherche =E0 partir de /bin alors que le fichier est bien l=E0 ?
La m=EAme commande le trouve si l'on y va et que l'on recherche "=E0
l'endroit o=F9 l'on est" ?

sun_v440:/bin> ls ksh
ksh

sun_v440:/bin> find /bin -name ksh
sun_v440:/bin> find /bin -name ksh | wc -l
0

sun_v440:/bin> find . -name ksh
./ksh
sun_v440:/bin> find . -name ksh | wc -l
1

D'avance, je vous remercie.

Pierre.

P.S.:
sun_v440:/bin> ls -l ksh
-r-xr-xr-x 3 root bin 209184 avr 5 2007 ksh

3 réponses

Avatar
Arnaud Gomes-do-Vale
Pierre writes:

Pourquoi "find" ne trouve t-elle pas le fichier ksh lors d'une
recherche à partir de /bin alors que le fichier est bien là ?



/bin ne serait pas un lien symbolique, par hasard ?

:/tmp% mkdir toto
:/tmp% ln -s toto titi
:/tmp% touch toto/pouet
:/tmp% find titi -name pouet
:/tmp% find titi/ -name pouet
titi/pouet
:/tmp%

--
Arnaud
Avatar
Arnaud Gomes-do-Vale
Pierre writes:

Pourquoi "find" ne trouve t-elle pas le fichier ksh lors d'une
recherche à partir de /bin alors que le fichier est bien là ?



/bin ne serait pas un lien symbolique, par hasard ?

:/tmp% mkdir toto
:/tmp% ln -s toto titi
:/tmp% touch toto/pouet
:/tmp% find titi -name pouet
:/tmp% find titi/ -name pouet
titi/pouet
:/tmp% find titi
titi
:/tmp% find titi/
titi/
titi/pouet
:/tmp%

--
Arnaud
Avatar
Hugues
Ce cher Arnaud Gomes-do-Vale a posté :

Pierre writes:

Pourquoi "find" ne trouve t-elle pas le fichier ksh lors d'une
recherche à partir de /bin alors que le fichier est bien là ?



/bin ne serait pas un lien symbolique, par hasard ?



Jolie remarque, je n'y avais même pas pensé !!
(Quelle idée de faire un symlink avec /bin aussi.. ;) )

Du coup, un find -L devrait résoudre le souci...
(plutôt que le trailing slash, facilement "oubliable", et qui ne marche
pas pour les sous-dossiers..)

:/tmp% mkdir toto
:/tmp% ln -s toto titi
:/tmp% touch toto/pouet



% find -L titi -name pouet
titi/pouet
%

--
Hugues Hiegel [http://www.hiegel.fr/~hugues/]