Comportement de find

Le
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 à partir de /bin alors que le fichier est bien là ?
La même commande le trouve si l'on y va et que l'on recherche "à
l'endroit où 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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Arnaud Gomes-do-Vale
Le #23538821
Pierre
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
Arnaud Gomes-do-Vale
Le #23538911
Pierre
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
Hugues
Le #23543421
Ce cher Arnaud Gomes-do-Vale
Pierre
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/]
Publicité
Poster une réponse
Anonyme