Provided by: manpages-fr-extra_20111118_all bug

NOM

       find - Rechercher des fichiers dans une hiérarchie de répertoires

SYNOPSIS

       find   [-H]  [-L]  [-P]  [-D  option-debogage]  [-Oniveau]  [chemin...]
       [expression]

DESCRIPTION

       Cette page de manuel  documente  la  version  GNU  de  find.  GNU  find
       parcourt  les  arborescences  des  répertoires  de  chacun  des chemins
       mentionnés, en évaluant les expressions fournies  pour  chaque  fichier
       rencontré.  L'évaluation de l'expression se fait de gauche à droite, en
       suivant les règles de priorité décrites  dans  la  section  OPÉRATEURS,
       jusqu'à  l'obtention  du  résultat  (par  exemple  la partie gauche est
       fausse pour un opérateur et, vraie pour un  opérateur  ou),  puis  find
       passe au nom de fichier suivant.

       Si vous utilisez find dans un environnement dans lequel la sécurité est
       importante (si vous l'utilisez par exemple pour  faire  des  recherches
       dans  des  répertoires  qui  sont  accessibles  en  écriture à d'autres
       utilisateurs),   vous   devriez    lire    le    chapitre    « Security
       Considerations » de la documentation de findutils. Cette documentation,
       fournie par findutils,  s'appelle  Finding  Files  (en  anglais).  Elle
       contient  bien  plus  de  détails  et  d'explications que cette page de
       manuel, et peut donc être considérée comme  une  source  d'informations
       plus utile.

OPTIONS

       Les   options   -H,  -L  et  -P  contrôlent  le  traitement  des  liens
       symboliques. Les paramètres de la ligne de  commande  qui  les  suivent
       sont considérés comme des fichiers ou des répertoires à examiner, et ce
       jusqu'au premier paramètre qui commence par « - », « ( » ou  « ! ».  Ce
       paramètre, et tous ceux qui suivent, sont considérés comme décrivant ce
       qui doit être recherché.  Si  aucun  chemin  n'est  précisé,  c'est  le
       répertoire  courant qui est utilisé. Si aucune expression n'est donnée,
       c'est l'ordre -print qui est utilisé (quoi qu'il en soit, vous  devriez
       plutôt utiliser -print0).

       Cette  page  de  manuel  décrit les « options » contenues dans la liste
       d'expressions. Ces options contrôlent le comportement de find mais sont
       indiquées  immédiatement  après  le  dernier  chemin.  Les cinq options
       « réelles » -H, -L, -P, -D et -O doivent être saisies avant le  premier
       chemin,  le  cas  échéant.  Un double tiret -- pourra être utilisé afin
       d'indiquer que les arguments restants ne sont pas des options  (sachant
       qu'il  est  en  général  plus  sûr  de  faire  commencer les chemins de
       recherche par « ./ » ou « / »  lorsque vous utilisez des jokers).

       -P     Ne  jamais  suivre  les  liens  symboliques,  ce  qui   est   le
              comportement  par  défaut.  Quand  find  analyse  ou affiche les
              informations concernant un fichier, et que  ce  fichier  est  un
              lien  symbolique,  les  informations  utilisées  sont celles qui
              concernent le  lien  symbolique  lui-même  (et  non  le  fichier
              pointé).

       -L     Suivre  les liens symboliques. Quand find analyse ou affiche les
              informations concernant un fichier, ce sont celles extraites des
              caractéristiques  du  fichier vers lequel mène les liens, et non
              celle du lien lui-même (sauf s'il s'agit d'un lien cassé, ou  si
              find  est  incapable d'analyser le fichier vers lequel pointe le
              lien). L'utilisation de cette option implique -noleaf  qui  sera
              toujours  active  pour  les utilisations ultérieures de l'option
              -P. Si l'option -L est active  et  que  find  découvre  un  lien
              symbolique  vers  un  sous-répertoire lors de ses recherches, le
              sous-répertoire pointé par le lien symbolique sera examiné.

              Quand l'option -L est active,  le  prédicat  -type  correspondra
              toujours au type du fichier pointé par le lien symbolique plutôt
              que celui du lien lui-même  (sauf  si  le  lien  symbolique  est
              cassé).  Les prédicats -lname et -ilname renvoient toujours faux
              lors de l'utilisation de -L.

       -H     Ne pas suivre les liens symboliques, sauf pour le traitement des
              paramètres  de  la  ligne  de  commande.  Quand  find analyse ou
              affiche les informations concernant un fichier, celles qui  sont
              utilisées  viennent  des  propriétés du lien symbolique lui-même
              (et non du fichier pointé). La seule exception à ce comportement
              est  lorsqu'un  fichier  indiqué  sur  la  ligne de commande est
              lui-même un lien symbolique, et que ce lien  peut  être  résolu.
              Dans  ce  cas,  les informations traitées sont celles du fichier
              pointé par le lien (autrement  dit,  le  lien  est  suivi).  Les
              informations  concernant  le  lien  lui-même  sont  utilisées en
              dernier recours, si le fichier pointé par le lien symbolique  ne
              peut  être  analysé.  Si l'option -H est active, et que l'un des
              liens indiqués sur la ligne de commande est un  lien  symbolique
              pointant  vers  un  répertoire, le contenu de ce répertoire sera
              analysé  (sachant  bien  sûr  que  l'option  -maxdepth  0   l'en
              empêcherait).

       Si  plus  d'une  option parmi -H, -L ou -P est indiquée, chacune écrase
       les précédentes, et c'est la dernière qui  apparaît  sur  la  ligne  de
       commande  qui  prime sur les autres. Puisque c'est l'option par défaut,
       on considère que c'est -P qui est active, à  moins  que  -H  ou  -L  ne
       soient utilisées.

       La version find du GNU évalue souvent des fichiers pendant l'analyse de
       la ligne de commande, et ce avant qu'une recherche n'ait commencée. Ces
       options modifient aussi la façon dont les paramètres sont traités. Plus
       précisément, il existe un certain nombre de  tests  qui  comparent  les
       fichiers  listés  sur  la  ligne  de  commande  et  le fichier en cours
       d'analyse. Dans tous les cas de figure,  un  fichier  de  la  ligne  de
       commande  a  été  analysé  et certaines de ses caractéristiques ont été
       mémorisées. Si le fichier indiqué est en fait un  lien  symbolique,  et
       que  l'option  -P  est active (ou que ni -H ni -L n'ont été précisées),
       alors l'information  qui  sera  utilisée  pour  les  comparaisons  sera
       extraite  des  propriétés du lien symbolique. Sinon, elle sera extraite
       des propriétés du fichier pointé par le lien. Si find ne peut suivre le
       lien  (soit  parce  ce  qu'il ne dispose pas des privilèges suffisants,
       soit parce que le lien pointe vers un  fichier  inexistant),  alors  ce
       sont les propriétés du lien lui-même qui seront utilisées.

       Quand  les  options  -H  ou -L sont actives, tout lien symbolique donné
       comme paramètre à -newer sera déréférencé, et le timestamp utilisé sera
       celui  du  fichier pointé par le lien symbolique. Ceci s'applique de la
       même façon à -newerXY, -anewer et -cnewer.

       L'option -follow a le même effet que -L, sauf qu'elle agit à  l'endroit
       où  elle  apparaît  (c'est  à  dire que si -L n'est pas utilisée et que
       -follow l'est, tout lien  symbolique  qui  apparaît  sur  la  ligne  de
       commande  après -follow sera déréférencé, et ceux apparaissant avant ne
       le seront pas).

       -D options-debogage
              Afficher des  informations  de  diagnostic,  ce  qui  peut  être
              pratique pour analyser pourquoi find ne fait pas ce que vous lui
              demandez. La liste des options de debogage  devra  utiliser  des
              virgules  comme  séparateurs.  La  compatibilité  des options de
              debogage n'est pas garantie au fil des versions de findutils. La
              sortie  de  find  -D help permet d'obtenir la liste complète des
              options reconnues. Les options de debogage valides comportent

              help   Décrire les options de debogage.

              tree   Afficher l'arbre de l'expression dans sa forme  d'origine
                     et sa forme optimisée.

              stat   Afficher  des messages dès que des fichiers sont examinés
                     via les appels systèmes stat et lstat. Le programme  find
                     tente de limiter ce type d'appels.

              opt    Afficher   des   informations   de   diagnostic  liées  à
                     l'optimisation de l'arbre de l'expression (voir  l'option
                     -O).

              rates  Afficher  un  résumé  indiquant  le  nombre  de succès ou
                     d'échecs de chacun des prédicats.

       -Oniveau
              Activer  l'optimisation  des   requêtes.   Le   programme   find
              réorganise  l'ordre  des  tests  afin d'en accélérer l'exécution
              tout en préservant le résultat exact, c'est-à-dire en évitant de
              modifier  ceux  qui  ont  des effets de bords. Les optimisations
              réalisées à chacun des niveaux sont les suivantes.

              0      Équivalent au niveau 1 d'optimisation.

              1      Niveau  d'optimisation  par  défaut.  Il  correspond   au
                     comportement  habituel. Les expressions sont réorganisées
                     afin que les tests basés seulement sur  les  noms  (comme
                     -name ou -regex par exemple) soient exécutés en premier.

              2      Tous  les  tests -type ou -xtype sont exécutés après ceux
                     basés uniquement sur le nom des fichiers, mais avant tous
                     les  tests  qui  traitent  d'informations  stockées  dans
                     l'inode. Sur les versions modernes d'Unix, les  types  de
                     fichiers  sont récupérés par readdir(), et sont donc plus
                     rapides à évaluer que ceux qui nécessitent de  travailler
                     d'abord sur le fichier.

              3      Dans  ce  niveau d'optimisation, l'optimiseur de requêtes
                     basé sur le coût total est activé. L'ordre des tests  est
                     modifié   afin   que   les   tests   les   moins  coûteux
                     (c'est-à-dire  les  plus  rapides)  soient  exécutés   en
                     premier,  et  les  plus  coûteux  exécutés  plus tard, si
                     besoin est. À l'intérieur d'un même niveau de  coût,  les
                     prédicats  sont  évalués  plus  ou  moins  tôt selon leur
                     probabilité de succès. Avec l'opérateur -o, les prédicats
                     qui  sont  susceptibles de réussir sont évalués plus tôt,
                     et  avec  l'opérateur  -a,  ce  sont  ceux  qui  risquent
                     d'échouer qui sont évalués plus tôt.

              L'optimiseur  basé sur le coût a une idée précise des chances de
              succès  de  n'importe  quel  test.  Dans  certains  cas,   cette
              probabilité  prend  en  compte la nature spécifique du test (par
              exemple, l'estimation de succès d'un -type f  est  supérieure  à
              celle   d'un  -type  c).  L'optimiseur  basé  sur  le  coût  est
              actuellement en cours  d'évaluation.  S'il  n'améliore  pas  les
              performances de find, il sera de nouveau retiré. Réciproquement,
              les optimisations qui s'avèrent fiables, robustes  et  efficaces
              pourront   dans   l'avenir   être   activées   à   des   niveaux
              d'optimisations moindres. Toutefois, le comportement par  défaut
              (c'est  à  dire  le niveau d'optimisation 1) ne sera pas modifié
              dans les différentes versions de la série  4.3.x.  La  suite  de
              tests unitaires de findutils est exécutée sur chacun des niveaux
              d'optimisation de find afin de s'assurer  que  le  résultat  est
              constant.

EXPRESSIONS

       L'expression   est   constituée  d'options  (affectant  l'ensemble  des
       opérations plutôt  que  le  traitement  d'un  fichier  particulier,  et
       renvoyant  toujours  vrai),  de  tests  (renvoyant  une valeur vraie ou
       fausse), et d'actions (ayant des  effets  de  bords  et  renvoyant  une
       valeur  vraie  ou  fausse),  tous  ces  éléments  étant séparés par des
       opérateurs. Quand un opérateur est  manquant,  l'opération  par  défaut
       -and est appliquée.

       Si  l'expression  ne  contient  pas  d'action  autre  que  -prune, find
       applique l'action -print par défaut à tous les fichiers  pour  lesquels
       l'expression est vraie.

   OPTIONS
       Toutes  les  options  renvoient  toujours la valeur vraie. Excepté pour
       -daystart, -follow et -regextype, elles ont toujours un  effet  global,
       même  sur les tests indiqués avant l'option. En effet, les options sont
       traitées au moment où la ligne de commande est analysée, tandis que les
       tests  ne  font  rien  avant  que  les fichiers ne soient examinés. Les
       options -daystart, -follow et -regextype sont différentes à cet  égard,
       et  ne  s'appliqueront que sur les tests qui apparaissent plus tard sur
       la ligne de commande. De ce fait, pour améliorer la lisibilité, il  est
       préférable  de  les  placer  au début de l'expression. Vous recevrez un
       avertissement dans les autres cas.

       -d     Un synonyme  de  -depth,  dans  un  but  de  compatibilité  avec
              FreeBSD, NetBSD, MacOS X et OpenBSD.

       -daystart
              Mesurer  les temps (avec -amin, -atime, -cmin, -ctime, -mmin, et
              -mtime) depuis le début de  la  journée  plutôt  que  depuis  24
              heures.  Cette  option n'affecte que les tests qui sont indiqués
              plus loin sur la ligne de commande.

       -depth Traiter  d'abord  les  sous-répertoires  avant   le   répertoire
              lui-même. L'action delete implique aussi -depth.

       -follow
              Obsolète,  utilisez  plutôt  l'option -L à la place. Déréférence
              les liens symboliques. Ceci implique l'option -noleaf.  L'option
              -follow  n'affecte  que  les  tests  qui  apparaissent après son
              apparition sur la  ligne  de  commande.  Sauf  dans  le  cas  où
              l'option  -H ou -L est indiquée, la position de l'option -follow
              change le comportement du prédicat -newer, et tout fichier donné
              en  paramètre  de  -newer sera déréférencé s'il s'agit d'un lien
              symbolique. La même remarque s'applique à -newerXY,  -anewer  et
              -cnewer.  De  la  même  façon,  le  prédicat  -type correspondra
              toujours au type du fichier pointé par le lien symbolique plutôt
              que  le  type  du lien lui-même. Les prédicats -lname et -ilname
              renvoient toujours faux lorsqu'on utilise -follow.

       -help, --help
              Afficher un message d'aide concernant l'utilisation de find  sur
              la sortie standard et quitter.

       -ignore_readdir_race
              Normalement,  find  affiche  un message d'erreur quand il échoue
              lors de l'analyse d'un fichier. Si vous utilisez cette option et
              que  le fichier est effacé entre le moment où find lit le nom du
              fichier dans le répertoire et celui où il essaye de  l'analyser,
              vous  n'obtiendrez aucun message d'erreur. Cela s'applique aussi
              aux fichiers et répertoires dont vous avez donné les noms sur la
              ligne  de commande. Cette option prend effet dès le moment où la
              ligne de commande est lue, ce qui veut dire que vous  ne  pouvez
              pas  rechercher sur une partie du système de fichiers avec cette
              option activée, et  sur  une  autre  partie  avec  cette  option
              désactivée  (si  vous  devez  faire cela, vous utiliserez plutôt
              deux commandes find, une avec l'option et l'autre sans).

       -maxdepth n
              Descendre au plus à n niveaux de profondeur des  répertoires  (n
              étant un entier positif ou nul), dans les paramètres fournis sur
              la ligne de commande. -maxdepth 0 signifie que les tests et  les
              actions  ne  s'appliquent  qu'aux  paramètres  de  la  ligne  de
              commande.

       -mindepth n
              Ne pas appliquer les tests ou  les  actions  à  des  niveaux  de
              profondeur  inférieurs  à  n.  n  est  un entier positif ou nul.
              -mindepth 1 signifie que les tests et les actions s'appliquent à
              tous les fichiers sauf aux paramètres de la ligne de commande.

       -mount Ne pas parcourir les répertoires situés sur d'autres systèmes de
              fichiers. Il s'agit d'une alternative à l'option -xdev, assurant
              la compatibilité avec d'anciennes versions de find.

       -noignore_readdir_race
              Désactiver l'effet de -ignore_readdir_race.

       -noleaf
              Ne  pas optimiser, en ignorant que les répertoires sont supposés
              contenir deux sous-répertoires de moins que leur nombre de liens
              physiques. Cette option est nécessaire lorsque l'on parcourt des
              systèmes  de  fichiers  ne  suivant  pas  les  conventions  Unix
              concernant  les liens de répertoires, comme les systèmes MS-DOS,
              les CD-ROM ou les points  de  montage  de  volumes  AFS.  Chaque
              répertoire  sur  un  système de fichiers Unix dispose d'au moins
              deux  liens  physiques,  son  nom  et  « . ».  De  plus,  chaque
              sous-répertoire  a  également  un lien « .. » vers le répertoire
              parent (s'il existe). Quand find examine un répertoire, il  sait
              qu'il  y  a  deux sous-répertoires de moins que de liens vers le
              répertoire. Une fois  qu'il  a  rencontré  le  nombre  prévu  de
              sous-répertoires,  il  est donc sûr que le reste des entrées est
              constitué de  fichiers  autres  que  des  sous-répertoires.  Ces
              fichiers  sont des feuilles ([NDT] « leaf ») dans l'arborescence
              des répertoires. S'il n'y a que les noms de fichiers à examiner,
              il  n'a plus besoin de vérifier leur nature, ce qui entraîne une
              augmentation notable de la vitesse de traitement.

       -regextype type
              Définir la syntaxe des expressions rationnelles des tests -regex
              et  -iregex  qui  seront  indiqués  plus  loin  sur  la ligne de
              commande. Les types actuellement implémentés  sont  emacs  (type
              par    défaut),    posix-awk,    posix-basic,   posix-egrep   et
              posix-extended.

       -version, --version
              Afficher le numéro de version de find et quitter.

       -warn, -nowarn
              Activer ou désactiver les messages d'avertissement. Ces messages
              d'avertissement  concernent  l'usage de la ligne de commande, et
              non les événements que find peut  rencontrer  lorsqu'il  explore
              les  répertoires. Le comportement par défaut est d'activer -warn
              si l'entrée standard est un tty, et -nowarn dans les autres cas.

       -xdev  Ne pas parcourir les répertoires situés sur d'autres systèmes de
              fichiers.

   TESTS
       Quelques  tests (comme  -newerXYet -samefile par exemple) permettent de
       comparer le fichier en  cours  d'examen  et  un  fichier  de  référence
       indiqué  sur  la  ligne  de  commande.  Quand  ces tests sont utilisés,
       l'analyse du fichier de référence est soumis aux effets des options -H,
       -L  , -P et tout -follow précédent. Par contre, ce fichier de référence
       n'est consulté qu'une fois, au moment  où  la  ligne  de  commande  est
       interprétée.  Si  ce fichier de référence ne peut pas être analysé (par
       exemple si l'appel système stat(2) échoue), un  message  d'erreur  sera
       généré,  et  la commande find s'interrompra avec un statut différent de
       zéro.

       Les paramètres numériques peuvent être indiqués comme suit :

       +n     supérieur à n,

       -n     inférieur à n,

       n      strictement égal à n.

       -amin n
              Dernier accès au fichier il y a n minutes.

       -anewer fichier
              Dernier  accès  au  fichier  plus   récent   que   la   dernière
              modification de fichier. Si le fichier est un lien symbolique et
              que les options -H ou -L sont actives, c'est toujours la date de
              dernier accès du fichier pointé qui est utilisée.

       -atime n
              Dernier  accès  au  fichier  il  y  a  n*24 heures. Lorsque find
              calcule le nombre de périodes de  24  heures  depuis  lequel  le
              fichier  a  été  accédé,  la  partie  fractionnelle est ignorée.
              Ainsi, pour correspondre à -atime +1, un fichier doit avoir  été
              accédé il y a au moins deux jours.

       -cmin n
              Date  de  dernière  modification  du  statut du fichier il y a n
              minutes.

       -cnewer fichier
              Date de dernière modification du statut du fichier plus  récente
              que  la  date  de  dernière modification du fichier donné. Si le
              fichier donné est un lien symbolique et que les options -H ou -L
              sont  actives,  alors  c'est la date de dernière modification du
              statut du fichier pointé par le lien qui est considérée.

       -ctime n
              Date de dernière modification du statut du fichier il y  a  n*24
              heures.   Consultez   l'explication   concernant   -atime   pour
              comprendre    comment    les    effets    d'arrondis    altèrent
              l'interprétation  de  la date de dernière modification du statut
              du fichier.

       -empty Fichier vide. De plus, ce fichier doit être régulier ou être  un
              répertoire.

       -executable
              Correspond  aux fichiers qui sont exécutables et aux répertoires
              qui sont accessibles (en ce qui concerne la résolution d'un  nom
              de  fichier).  Les  listes  de contrôles d'accès (ACL) et autres
              artefacts de permissions sont pris en  compte,  à  l'inverse  du
              test  -perm  qui lui les ignore. Ce test utilise l'appel système
              access(2) et peut de ce fait être trompé par  les  serveurs  NFS
              qui  font  de la substitution d'identité (ou du root squashing).
              En effet, de nombreux systèmes implémentent access(2) au  niveau
              du  client,  et  ne  peuvent  donc  se  servir des substitutions
              d'identité gérées du coté serveur. Puisque ce  test  n'est  basé
              que sur le résultat fourni par l'appel système access(2), il n'y
              a  aucune  garantie  qu'un  fichier  trouvé  par  ce  test  soit
              réellement exécutable.

       -false Toujours faux.

       -fstype type
              Fichier  se trouvant sur un système de fichiers du type indiqué.
              Les types valides  de  systèmes  de  fichiers  dépendent  de  la
              version  d'Unix.  Une liste non exhaustive des systèmes acceptés
              sur certaines versions d'Unix sont : ufs, 4.2,  4.3,  nfs,  tmp,
              mfs,  S51K, S52K. Vous pouvez utiliser -printf avec la directive
              %F pour examiner les types de vos systèmes de fichiers.

       -gid n Fichier de GID numérique valant n.

       -group nom_groupe
              Fichier appartenant  au  groupe  nom_groupe  (éventuellement  un
              identifiant numérique).

       -ilname motif
              Semblable à -lname, mais sans différencier les majuscules et les
              minuscules. Si les options -L ou -follow sont actives,  ce  test
              renvoie  toujours  faux,  à moins que le lien symbolique ne soit
              cassé.

       -iname motif
              Semblable à -name, mais sans différencier les majuscules et  les
              minuscules.   Par   exemple   les  motifs  « to* »  et  « T??? »
              correspondent aux noms de fichiers « Toto », « TOTO », « toto »,
              « tOto »,  etc.  Dans ces motifs, et contrairement à l'expansion
              des noms de fichiers de l'interpréteur de  commandes,  un  « . »
              initial  peut correspondre au motif « * ». Ainsi, find -name *to
              acceptera le  fichier  « .toto ».  Notez  bien  que  vous  devez
              protéger   les   motifs,   cela   va   sans   dire,  car  sinon,
              l'interpréteur   de   commandes   appliquera   l'expansion   aux
              métacaractères qu'ils contiennent.

       -inum n
              Fichier  dont  le  numéro  d'inode est n. Il est en général plus
              facile d'utiliser le test -samefile.

       -ipath motif
              Se comporter  comme  -iwholename.  Cette  option  est  obsolète,
              veuillez ne plus l'utiliser.

       -iregex motif
              Semblable à -regex, mais sans différencier les majuscules et les
              minuscules.

       -iwholename motif
              Semblable à -wholename, mais la recherche n'est pas  sensible  à
              la casse.

       -links n
              Fichier ayant n liens.

       -lname motif
              Fichier   représentant  un  lien  symbolique,  dont  le  contenu
              correspond  au  motif  indiqué.  Lors   du   développement   des
              métacaractères,  « / » et « . » ne sont pas traités différemment
              des autres  caractères.  Si  les  options  -L  ou  -follow  sont
              actives,  ce  test  renvoie faux, sauf si le lien symbolique est
              cassé.

       -mmin n
              Fichier dont les données ont été modifiées il y a n minutes.

       -mtime n
              Fichier dont les données ont été modifiées il y a  n*24  heures.
              Consultez  l'explication  sur -atime pour comprendre comment les
              arrondis  affectent  l'interprétation  des  dates  de   dernière
              modification des fichiers.

       -name motif
              Fichier  dont  le  nom  de  base (sans les répertoires du chemin
              d'accès), correspond  au  motif  du  shell.  Les  métacaractères
              (« * »,  « ? », et « [] ») peuvent correspondre à un point « . »
              au  début  du  nom  du   fichier   (c'est   une   évolution   de
              findutils-4.2.2,  consultez  la section CONFORMITÉ AUX STANDARDS
              plus loin). Pour ignorer  un  répertoire,  ainsi  que  tous  ses
              fichiers,  utilisez  l'option  -prune (vous trouverez un exemple
              dans la description de l'option -path). Les parenthèses ne  sont
              pas considérées comme des caractères spéciaux, bien que certains
              interpréteurs  de  commandes  (dont  le  Bash)  attribuent   aux
              parenthèses  un  rôle particulier. La correspondance avec le nom
              du  fichier  est  obtenue  par  l'utilisation  de  la   fonction
              fnmatch(3)  de  la bibliothèque. N'oubliez pas de protéger votre
              motif   entre   guillemets   afin   d'éviter   l'expansion   des
              métacaractères par l'interpréteur de commandes.

       -newer fichier
              Fichier  modifié  plus  récemment  que le fichier indiqué. Si le
              fichier fichier est un lien symbolique et que les options -H  ou
              -L sont actives, c'est la date de modification du fichier pointé
              qui sera considérée.

       -newerXY rfrence
              Compare le timestamp  du  fichier  courant  avec  la  rfrence.
              L'argument  rfrence est habituellement un nom de fichier (dans
              ce cas, un de ses timestamps est utilisé pour les comparaisons),
              mais  il peut aussi s'agir d'une chaîne donnant un temps absolu.
              X et Y sont des emplacements pour d'autres lettres, lettres  qui
              indiquent  quel  horodatage  de la rfrence est utilisé pour la
              comparaison.

              a   La date et l'heure de dernier accès au fichier rfrence
              B   La date et l'heure de création du fichier rfrence
              c   La date et l'heure de changement d'état de l'inode rfrence
              m   La date et l'heure de dernière modification du fichier rfrence
              t   rfrence est directement interprétée en tant qu'heure

              Certaines combinaisons ne sont pas valables, comme par  exemple,
              X   utilisé   avec   t.   Certaines  combinaisons  ne  sont  pas
              implémentées sur certains systèmes,  comme  par  exemple  B  qui
              n'est  pas  supportée  par  tous les systèmes. Une erreur fatale
              sera retournée si une combinaison non valable ou non implémentée
              de  XY  est appelée. Les dates et heures sont interprétées comme
              les arguments de l'option  -d de la commande  date  du  GNU.  Si
              vous essayez d'utiliser la date de création d'un fichier, et que
              cette date  de  création  ne  peut  pas  être  déterminée,  vous
              obtiendrez un message d'erreur fatale. Si vous spécifiez un test
              qui se réfère à la date de création des fichiers à examiner,  ce
              test  échouera  pour  chaque  fichier  pour  lequel  la  date de
              création est inconnue.

       -nogroup
              Fichier dont l'identifiant de groupe numérique ne  correspond  à
              aucun groupe d'utilisateurs.

       -nouser
              Fichier dont l'UID numérique ne correspond à aucun utilisateur.

       -path motif
              Fichier   dont   le   nom   correspond   au   motif  motif.  Les
              métacaractères « / » ou « . » ne sont pas interprétés, d'où, par
              exemple,
                        find . -path "./sr*sc"
              affichera  un  résultat pour un répertoire appelé « ./src/misc »
              (s'il existe). Pour omettre une branche complète de répertoires,
              utilisez  -prune  plutôt  que  de  vérifier  chaque  fichier  de
              l'arborescence.  Pour  ignorer   par   exemple   le   répertoire
              « src/emacs »  et  tous ces fichiers et sous-répertoires tout en
              affichant le nom des autres  fichiers  trouvés,  faites  quelque
              chose comme :
                        find . -path './src/emacs' -prune -o -print
              Sachez  que  le  motif de recherche de correspondance s'applique
              sur le nom complet du  fichier,  en  commençant  des  points  de
              départ  indiqués  sur  la  ligne de commande. L'utilisation d'un
              chemin absolu n'a de sens ici que  si  le  point  de  départ  de
              recherche  est  lui aussi un chemin absolu. Cela signifie que la
              commande suivante ne trouvera jamais rien :
                        find bar -path /truc/bidule/monFichier -print
              Le prédicat -path est aussi implémenté dans le find  d'HP-UX  et
              apparaîtra dans une prochaine version du standard POSIX.

       -perm mode
              Fichier dont les autorisations d'accès sont fixées exactement au
              mode indiqué (en  notation  symbolique  ou  octale).  Puisqu'une
              correspondance  stricte est requise, vous risquez d'être obligés
              d'utiliser une chaîne de caractères  plutôt  compliquée  lorsque
              vous utiliserez cette option avec le mode symbolique. -perm g=w,
              par exemple, ne recherchera que les fichiers  qui  ont  le  mode
              0020  (c'est à dire, ceux pour lesquels la permission d'écriture
              pour le groupe est la seule permission  définie).  Vous  voudrez
              plus certainement utiliser les formes « / » ou « - », telles que
              -perm -g=w, qui correspondent à tous les  fichiers  qui  ont  le
              droit d'écriture pour les groupes. Consultez la section EXEMPLES
              pour des exemples plus significatifs.

       -perm -mode
              Fichier ayant tous les bits  d'autorisations  indiqués  dans  le
              mode.  Les  notations symboliques sont acceptées dans ce cas, et
              c'est en général comme cela que  l'on  veut  s'en  servir.  Vous
              devez  indiquer  « u »,  « g » ou « o » si vous utilisez un mode
              symbolique. Consultez la section EXEMPLES pour des exemples plus
              significatifs.

       -perm /mode
              Fichier ayant certains des bits d'autorisations indiqués dans le
              mode. La notation symbolique est  acceptée  dans  ce  cas.  Vous
              devez  indiquer  « u »,  « g » ou « o » si vous utilisez un mode
              symbolique. Consultez la section EXEMPLES pour des exemples plus
              significatifs.  Si  aucun  bit d'autorisation n'est indiqué dans
              mode,  cela correspond  à  tous  les  fichiers  (l'objectif  est
              d'être plus cohérent avec le comportement de perm -000).

       -perm +mode
              Déconseillé, ancienne méthode pour rechercher des fichiers ayant
              certains des bits d'autorisations indiqués dans  le  mode.  Vous
              devez  plutôt  utiliser -perm /mode. L'utilisation de la syntaxe
              « + » avec la notation symbolique vous réservera  des  résultats
              surprenants.  Par  exemple, « +u+x » est une notation symbolique
              valide (équivalente à +u,+x, c'est-à-dire 0111) qui ne sera donc
              pas  évaluée en tant que -perm +mode, mais plutôt comme l'option
              de recherche exacte  -perm  mode.  Cela  correspondra  donc  aux
              fichiers  avec  la  permission « 0111 » précisément, et non ceux
              qui ont n'importe  quel  bit  d'exécution  activé.  Si  vous  ne
              trouvez  pas  ce  paragraphe  clair,  vous  n'êtes  pas le seul.
              Utilisez plutôt -perm  /mode.  Cet  emploi  du  test  -perm  est
              déconseillé   parce   que   la   spécification   POSIX  requiert
              l'interprétation du premier « + »  en  tant  que  partie  de  la
              notation  symbolique.  Nous  avons donc préféré l'utilisation de
              « / ».

       -readable
              Correspond aux fichiers qui sont  accessibles  en  lecture.  Les
              listes  de  contrôle  d'accès  (ACL)  et les autres artefacts de
              permissions sont pris en compte, à l'inverse du test -perm  qui,
              lui,  les  ignore. Ce test utilise l'appel système access(2), et
              peut, de ce fait, être trompé par les serveurs NFS qui  font  de
              la  substitution  d'identité (UID mapping ou root squashing). En
              effet, de nombreux systèmes implémentent access(2) au niveau  du
              client,   et   ne  peuvent  donc  se  servir  des  substitutions
              d'identités gérées du coté serveur.

       -regex motif
              Nom de fichier correspondant à l'expression  rationnelle  motif.
              Il  s'agit d'une correspondance sur le chemin complet, pas d'une
              recherche. Par exemple, pour mettre en correspondance un fichier
              nommé   « ./fubar3 »,   vous  pouvez  utiliser  les  expressions
              rationnelles « .*bar. » ou « .*b.*3 », mais pas  « f.*r3 ».  Les
              expressions  rationnelles  comprises  par find sont, par défaut,
              celles d'Emacs. L'option -regextype permet d'en changer.

       -samefile nom
              Fichier qui se réfère à la même inode  que  nom.  Quand  -L  est
              actif, cela inclut les liens symboliques.

       -size n[cwbkMG]
              Fichier  utilisant  n  unités  d'espace.  On pourra utiliser les
              suffixes suivants :

              « b »  Pour des blocs de 512 octets (comportement par défaut  si
                     rien n'est indiqué).

              « c »  Pour indiquer des octets.

              « w »  Pour des mots de deux octets.

              « k »  Pour des kilo-octets (unités de 1 024 octets).

              « M »  Pour des méga-octets (unités de 1 048 576 octets).

              « G »  Pour des giga-octets (unités de 1 073 741 824 octets).

              La  taille ne prend pas en compte les blocs indirects, mais elle
              comptabilise les blocs des fichiers creux  non  encore  alloués.
              Gardez  à  l'esprit  que  les spécifications de format « %k » et
              « %b » de -printf gèrent différemment les  fichiers  éparpillés.
              Le  suffixe  « b » détermine toujours des blocs de 512 octets et
              jamais de 1 kilo-octets, ce qui diffère du comportement de -ls.

       -true  Toujours vrai.

       -type c
              Fichier du type c :

              b      Fichier spécial en mode bloc (avec tampon)

              c      Fichier spécial en mode caractère (sans tampon)

              d      Répertoire

              p      Tube nommé (FIFO)

              f      Fichier régulier

              l      Lien symbolique, n'est jamais vrai si les options  -L  ou
                     -follow  sont  actives, à moins que le lien symbolique ne
                     soit  cassé.  Si  vous  voulez   rechercher   des   liens
                     symboliques alors que -L est actif, utilisez -xtype.

              s      Socket

              D      Door (Solaris)

       -uid n Fichier dont l'identifiant utilisateur numérique vaut n.

       -used n
              Fichier  dont  le dernier accès date de n jours après sa date de
              dernière modification.

       -user utilisateur
              Fichier  appartenant  à   l'utilisateur   indiqué   (identifiant
              utilisateur numérique éventuellement).

       -wholename motif
              Voir -path. Cette option est moins portable que -path.

       -writable
              Correspond  aux  fichiers  qui sont accessibles en écriture. Les
              listes de contrôle d'accès (ACL)  et  les  autres  artefacts  de
              permissions  sont pris en compte, à l'inverse du test -perm qui,
              lui, les ignore. Ce test utilise l'appel système  access(2),  et
              peut,  de  ce fait, être trompé par les serveurs NFS qui font de
              la substitution d'identité (UID mapping ou root  squashing).  En
              effet,  de nombreux systèmes implémentent access(2) au niveau du
              client,  et  ne  peuvent  donc  se  servir   des   substitutions
              d'identités gérées du coté serveur.

       -xtype c
              Semblable  à  -type  sauf  si le fichier est un lien symbolique.
              Pour les liens symboliques, si les options  -H  ou  -P  ont  été
              spécifiées,  le  test  est vrai si le fichier pointé par le lien
              est de type c ; si l'option -L a été spécifiée, le test est vrai
              si  c  vaut  « l ».  Autrement  dit, pour les liens symboliques,
              -xtype vérifie le  type  des  fichiers  que  l'option  -type  ne
              vérifie pas.

   ACTIONS
       -delete
              Effacer les fichiers, et renvoyer vrai si l'effacement a réussi.
              Si l'effacement échoue,  un  message  d'erreur  est  envoyé.  Si
              -delete  échoue,  le  statut de sortie de find sera différent de
              zéro (si jamais  il  s'interrompt).  L'utilisation  de  l'action
              -delete active automatiquement l'option -depth.

              Attention :  N'oubliez  pas que la ligne de commande de find est
              évaluée comme une expression. Écrire -delete en premier  forcera
              find  à  essayer d'effacer tout ce qui se trouve dans les points
              de départ que vous avez indiqué. Lorsque vous testez  une  ligne
              de commande de find qui utilisera -delete, vous devriez préciser
              l'option -depth afin d'éviter les surprises plus  tard.  Puisque
              -delete  entraîne  -depth,  vous  ne pouvez pas utiliser en même
              temps -prune et -delete.

       -exec commande ;
              Exécuter la commande ; vrai si le code de retour 0 est  renvoyé.
              Tous  les  paramètres qui suivent find sont considérés comme des
              paramètres pour la ligne de commande, jusqu'à la rencontre  d'un
              caractère  « ; ».  La  chaîne « {} » est remplacée par le nom du
              fichier en cours de traitement, ceci dans toutes ses occurrences
              sur  la ligne de commande, et pas seulement aux endroits où elle
              est isolée, comme c'est le cas avec d'autres versions  de  find.
              Ces  deux  chaînes  peuvent  avoir  besoin  d'être  protégées du
              développement de la ligne de commande par le shell, en utilisant
              le  caractère  d'échappement  (« \ »)  ou une protection par des
              guillemets. Consultez la  section  EXEMPLES  pour  des  exemples
              d'utilisation  de  l'option  -exec.  La  commande  indiquée  est
              exécutée à chaque fois qu'un fichier correspond. La commande est
              exécutée depuis le répertoire de départ. Il existe d'inévitables
              problèmes de sécurité associés  à  l'usage  de  l'option  -exec,
              c'est  pourquoi  vous  devriez  utiliser  l'option -execdir à la
              place.

       -exec commande {} +
              Cette variante de l'option -exec exécute la  commande  spécifiée
              sur  le  fichier  sélectionné, mais en ajoutant le nom de chaque
              fichier trouvé à la fin de la ligne de commande. Le nombre total
              d'invocation  de  la commande sera donc très inférieur au nombre
              de fichiers trouvés. La ligne de commande est  construite  à  la
              manière  de  xargs.  Une  seule instance de « {} » est permise à
              l'intérieur de la commande. La commande sera  exécutée  dans  le
              répertoire de départ.

       -execdir commande ;

       -execdir commande {} +
              Semblable à -exec, sauf que la commande indiquée sera exécutée à
              partir du sous-répertoire contenant  le  fichier  correspondant,
              qui  n'est normalement pas celui à partir duquel vous avez lancé
              find.  C'est  une  méthode  bien  plus  fiable  d'invocation  de
              commande,  puisqu'elle  évite  des  conflits  de  résolution  de
              chemins des fichiers trouvés.  Comme  pour  l'option  -exec,  la
              forme de -execdir avec « + » construira une ligne de commande de
              telle sorte qu'elle pourra traiter plusieurs fichiers trouvés en
              une  passe  (avec une restriction, chaque invocation de commande
              ne portera que sur une liste de fichiers issue d'un seul et même
              répertoire).  Si  vous  utilisez cette option, veillez bien à ce
              que votre variable d'environnement $PATH ne  contienne  pas  une
              référence au répertoire courant  « . », sinon un pirate pourrait
              lancer toutes les commandes qu'il souhaite en mettant un fichier
              au  nom  adéquat  dans  les  répertoires où vous allez lancer un
              -execdir. De la même manière, évitez les références vides ou les
              noms de répertoires exprimés en relatif dans $PATH.

       -fls fichier
              Vrai ;  semblable  à  -ls,  mais écrire dans le fichier comme le
              fait -fprint. Le fichier en sortie est toujours créé, même si le
              prédicat  n'est  jamais  vérifié.  Consultez  la section NOMS DE
              FICHIERS PEU COURANTS  pour  obtenir  des  informations  sur  la
              gestion des caractères inhabituels dans les noms de fichier.

       -fprint fichier
              Vrai ;  écrire  le  nom  complet  dans  le  fichier.  Si fichier
              n'existe pas au démarrage de find, il est créé. S'il existe,  il
              est   écrasé.   Les   noms   de   fichier   « /dev/stdout »   et
              « /dev/stderr »  sont  traités  de  manière  particulière,   ils
              correspondent respectivement à la sortie standard et à la sortie
              d'erreurs. Le fichier de sortie est toujours crée,  même  si  le
              prédicat  n'est  jamais  vérifié.  Consultez  la section NOMS DE
              FICHIERS PEU COURANTS  pour  obtenir  des  informations  sur  la
              gestion des caractères inhabituels dans les noms de fichiers.

       -fprint0 fichier
              Vrai ;  semblable à -print0 mais écrire dans le fichier comme le
              fait -fprint. Le fichier de sortie est toujours créé, même si le
              prédicat  n'est  jamais  vérifié.  Consultez  la section NOMS DE
              FICHIERS PEU COURANTS  pour  obtenir  des  informations  sur  la
              gestion des caractères inhabituels dans les noms de fichiers.

       -fprintf fichier format
              Vrai ;  semblable à -printf mais écrire dans le fichier comme le
              fait -fprint. Le fichier de sortie est toujours créé, même si le
              prédicat  n'est  jamais  vérifié.  Consultez  la section NOMS DE
              FICHIERS PEU COURANTS  pour  obtenir  des  informations  sur  la
              gestion des caractères inhabituels dans les noms de fichiers.

       -ls    Vrai,  afficher  le  nom  du  fichier en cours dans le format ls
              -dils sur la sortie standard. La taille est calculée en blocs de
              1 Ko, à moins que la variable d'environnement POSIXLY_CORRECT ne
              soit positionnée, auquel cas la taille est calculée en blocs  de
              512  octets.  Consultez la section NOMS DE FICHIERS PEU COURANTS
              pour obtenir des informations  sur  la  gestion  des  caractères
              inhabituels dans les noms de fichier.

       -ok commande ;
              Comme   -exec   mais   interroger   d'abord   l'utilisateur.  Si
              l'utilisateur aquiesce, la commande est lancée. Sinon,  le  test
              devient faux. Si la commande est lancée, son entrée standard est
              redirigée depuis /dev/null.

              La réponse à la question posée est comparée à  deux  expressions
              rationnelles  afin  de  déterminer  s'il  s'agit  d'une  réponse
              positive ou négative. Ces expressions rationnelles sont  données
              par  le système si la variable d'environnement `POSIXLY_CORRECT'
              est définie,  et dans le cas contraire, dans les traductions des
              messages   de   find.   Si  le  système  n'a  aucune  définition
              appropriée,  les propres définitions de find  seront  utilisées.
              Dans   tous   les   cas,  l'interprétation  de  ces  expressions
              rationnelles sera modifiée  par  les  variables  d'environnement
              'LC_CTYPE'  (classe  de caractères) et  'LC_COLLATE' (caractères
              étendues et équivalencede classes).

       -okdir commande ;
              Comme -execdir mais interroge d'abord l'utilisateur  comme  dans
              le cas de -ok. Si l'utilisateur n'acquiesce pas, le test devient
              faux. Si  la  commande  est  lancée,  son  entrée  standard  est
              redirigée depuis /dev/null.

       -print Vrai ;  afficher  le  nom  complet  du  fichier  sur  la  sortie
              standard, suivi d'un saut de ligne. Si vous redirigez la  sortie
              standard de find vers un autre programme et qu'il y a la moindre
              chance qu'un des noms des fichiers que vous recherchez contienne
              un  saut  de  ligne,  alors vous devriez très sérieusement opter
              pour l'option -print0 plutôt que -print.  Consultez  la  section
              NOMS  DE FICHIERS PEU COURANTS pour obtenir des informations sur
              la gestion des caractères inhabituels dans les noms de fichier.

       -print0
              Vrai ;  afficher  le  nom  complet  du  fichier  sur  la  sortie
              standard, suivi d'un caractère nul (à la place du caractère saut
              de ligne que -print utilise). Ceci permet aux fichiers  dont  le
              nom  contient  un  saut de ligne ou d'autres types de caractères
              non  affichables,  d'être  correctement  interprétés   par   les
              programmes utilisant les données en sortie de find. Cette option
              correspond à l'option -0 de xargs.

       -printf format
              Vrai ; afficher le format indiqué sur  la  sortie  standard,  en
              interprétant les séquences d'échappement « \ » et les directives
              « % ». La largeur  et  la  précision  des  champs  peuvent  être
              spécifiés comme dans la fonction  « printf » du langage C. Notez
              bien que la plupart des champs sont affichés selon %s plutôt que
              %d,  ce  qui  veut  dire  que  les  drapeaux  ne  fonctionneront
              peut-être pas comme vous vous y attendiez. Cela veut aussi  dire
              que  le  drapeau  « - »  fonctionnera (il force l'alignement des
              champs à gauche). Contrairement à -print, -printf  n'ajoute  pas
              de  saut  de  ligne  à  la  fin  de  la  chaîne.  Les  séquences
              d'échappement et les directives sont les suivantes :

              \a     Sonnerie.

              \b     Effacement arrière (Backspace).

              \c     Arrêter immédiatement l'impression du format et vider  le
                     flux de sortie.

              \f     Saut de page.

              \n     Saut de ligne.

              \r     Retour chariot.

              \t     Tabulation horizontale.

              \v     Tabulation verticale.

              \0     Caractère ASCII NUL.

              \\     Un caractère « \ » littéral.

              \NNN   Le caractère ASCII dont le code est NNN (en octal).

              Un  « \ »  suivi  de  n'importe  quel autre caractère est traité
              comme un caractère ordinaire ; ils sont donc affichés  tous  les
              deux.

              %%     Un caractère pourcentage littéral (%).

              %a     Date  du dernier accès au fichier, dans le format renvoyé
                     par la fonction C ctime(3).

              %Ak    Date du dernier accès au fichier, dans le format spécifié
                     par  k,  qui  doit être soit un « @ », soit une directive
                     pour la fonction C « strftime ». Les valeurs possibles de
                     k  sont  indiquées ci-dessous, certaines d'entre-elles ne
                     sont pas disponibles sur tous les systèmes, à  cause  des
                     différences entre les fonctions « strftime » existantes.

                     @      Secondes  écoulées  depuis  le  1er janvier 1970 à
                            00 h 00 GMT, avec une partie décimale.

                     Champs horaires :

                     H      Heure (00..23)

                     I      Heure (01..12)

                     k      Heure (0..23)

                     l      Heure (1..12)

                     M      Minute (00..59)

                     p      AM ou PM, avec la désignation locale

                     r      Heure au format 12 heures (hh:mm:ss [AP]M)

                     S      Seconde  (00.00  ..  61.00).  Accepte  une  partie
                            décimale.

                     T      Heure au format 24 heures (hh:mm:ss)

                     +      La   date  et  l'heure,  séparées  par  un  « + »,
                            « 2004-04-28+22:22:05 » par exemple. Ceci est  une
                            extension  GNU.  L'heure  est  donnée dans la zone
                            horaire courante (qui peut être  modifiée  via  la
                            variable  d'environnement  TZ).  Le  second  champ
                            contient une partie décimale.

                     X      Représentation locale de l'heure (H:M:S)

                     Z      Fuseau horaire (par exemple MET), ou  rien  si  le
                            fuseau horaire est indéterminé.

                     Champs de date :

                     a      Abréviation   locale   du   jour   de  la  semaine
                            (lun..dim)

                     A      Nom  local  entier  du  jour  de  la  semaine,  de
                            longueur variable (lundi..dimanche)

                     b      Abréviation locale du mois (jan..déc)

                     B      Nom  local  entier  du  mois, de longueur variable
                            (janvier..décembre)

                     c      Date et heure locale  (Sat  Nov  04  12:02:33  EST
                            1989).  Le  format  utilisé  est  le même que pour
                            ctime(3), et, afin de préserver  la  compatibilité
                            avec  ce  format,  il n'y a pas de partie décimale
                            pour les secondes.

                     d      Quantième du mois (01..31)

                     D      Date (mm/jj/aa)

                     h      Identique à b

                     j      Jour de l'année (001..366)

                     m      Mois (01..12)

                     U      Numéro de la semaine dans  l'année,  les  semaines
                            commençant le dimanche (00..53)

                     w      Jour de la semaine (0..6)

                     W      Numéro  de  la  semaine dans l'année, les semaines
                            commençant le lundi (00..53)

                     x      Représentation locale de la date (mm/jj/aa)

                     y      Les deux derniers chiffres de l'année (00..99)

                     Y      Année (1970...)

              %b     Taille de l'espace disque consommé  par  le  fichier,  en
                     nombre  de  blocs  de 512 octets. Puisque l'espace disque
                     est alloué par multiple de la taille d'un bloc du système
                     de  fichiers,  on obtient souvent un résultat supérieur à
                     %s/512. Il peut aussi être inférieur si  le  fichier  est
                     creux (sparse file).

              %c     Date  de dernière modification du statut du fichier, dans
                     le format renvoyé par la fonction C « ctime ».

              %Ck    Date de dernière modification du statut du fichier,  dans
                     le format spécifié par k, comme pour la directive %A.

              %d     Profondeur    du    fichier   dans   l'arborescence   des
                     répertoires, 0 signifiant que le fichier est un paramètre
                     de la ligne de commande.

              %D     Le numéro du périphérique sur lequel le fichier est rangé
                     (la valeur du champ st_dev field de  la  structure  stat)
                     exprimé en décimal.

              %f     Nom  du  fichier,  sans  aucun nom de répertoire (dernier
                     élément uniquement).

              %F     Type de système de  fichiers  sur  lequel  se  trouve  le
                     fichier.  Cette  valeur  peut être utilisée pour l'option
                     -fstype.

              %g     Nom du groupe propriétaire du fichier, ou identifiant  de
                     groupe numérique si le groupe n'a pas de nom.

              %G     Identifiant de groupe numérique du fichier.

              %h     Répertoires  en  tête  du  nom  de  fichier (tout sauf la
                     dernière partie). Si le nom du fichier ne contient aucune
                     barre  oblique (NDT : slash) (donc si c'est un fichier du
                     répertoire courant), alors l'option %h rajoutera « . ».

              %H     Paramètre de la ligne de  commande  à  partir  duquel  le
                     fichier a été trouvé.

              %i     Numéro d'inode du fichier (en décimal).

              %k     Taille  du  fichier,  en nombre de blocs de 1 kilo-octet.
                     Puisque l'espace disque est alloué  par  multiple  de  la
                     taille  d'un  bloc  du  système  de  fichiers, on obtient
                     souvent un résultat supérieur à %s/1024.  Il  peut  aussi
                     être inférieur si le fichier est éparpillé.

              %l     Destination  du lien symbolique (vide si le fichier n'est
                     pas un lien symbolique).

              %m     Bits d'autorisation d'accès au fichier (en octal).  Cette
                     option   utilise   les   nombres   « traditionnellement »
                     utilisés dans la plupart des implémentations d'Unix, mais
                     si  votre système utilise un ordre inhabituel de la forme
                     octale des bits de permissions, alors vous observerez une
                     différence  entre  la valeur réelle des modes du fichiers
                     et la sortie de %m. On veut  habituellement  un  zéro  en
                     début  de  ce  nombre,  et  pour  l'obtenir,  vous pouvez
                     utiliser le drapeau # (« %#m », par exemple).

              %M     Les permissions du fichier (sous forme symbolique,  comme
                     dans  ls).  Cette directive n'est disponible que dans les
                     versions de findutils 4.2.5 et suivantes.

              %n     Nombre de liens physiques sur le fichier.

              %p     Nom du fichier.

              %P     Nom du fichier, en retirant le nom du paramètre de  ligne
                     de commande à partir duquel le fichier a été trouvé.

              %s     Taille du fichier en octets.

              %S     Densité    du    fichier,   calculée   par   la   formule
                     (TAILLEBLOC*nb_bloc/taille_fichier).  La  valeur  obtenue
                     pour  un fichier régulier d'une certaine taille dépend du
                     système d'exploitation. Toutefois, la valeur  normalement
                     attendue   pour   un  fichier  creux  (sparse  file)  est
                     inférieure  à  1.0,  tandis  qu'un  fichier  qui  utilise
                     l'indirection   de   blocs   pourra  obtenir  une  valeur
                     supérieure à 1.0. La valeur de TAILLEBLOC est  dépendante
                     du système, mais est souvent de 512 octets. Si le fichier
                     a une taille nulle, la valeur affichée est indéfinie. Sur
                     les  systèmes  qui  n'offre pas la gestion des nombres de
                     blocs, la valeur de la densité du fichier sera de 1.0.

              %t     Date de dernière modification du fichier, dans le  format
                     renvoyé par la fonction C « ctime ».

              %Tk    Date  de dernière modification du fichier, dans le format
                     spécifié par k, comme pour la directive %A.

              %u     Nom  du   propriétaire   du   fichier,   ou   identifiant
                     utilisateur numérique si l'utilisateur n'a pas de nom.

              %U     Identifiant  utilisateur  numérique  du  propriétaire  du
                     fichier.

              %y     Type du fichier (comme dans ls -l), U pour  type  inconnu
                     (ce qui ne devrait pas arriver).

              %Y     Type  du  fichier  (comme pour %y), suivi, pour les liens
                     symbolique, de : L=boucle, N=inexistant.

              Un caractère « % » suivi de n'importe quel autre  caractère  est
              supprimé,  mais  le  second  caractère est affiché (ne soyez pas
              trop confiant cependant, car de nouveaux  caractères  de  format
              pourront être un jour utilisés). Un « % » à la fin de l'argument
              de format peut engendrer un comportement aléatoire puisqu'il n'y
              a  aucun caractère suivant. Ce qui peut être plus ou moins grave
              suivant les cas.

              Les options %m et %d gèrent les drapeaux #, 0 et +, à  l'inverse
              des  autres directives, même si elles affichent des nombres. Les
              autres directives numériques qui ne gèrent pas ces drapeaux sont
              G,  U,  b,  D,  k  et n. Le drapeau de format « - » est géré, et
              transforme l'alignement des champs (qui sont par défaut  alignés
              à droite) en alignement à gauche.

              Consultez  la section NOMS DE FICHIERS PEU COURANTS pour obtenir
              des informations sur la gestion des caractères inhabituels  dans
              les noms de fichier.

       -prune Vrai ;  Si le fichier est un répertoire, ne pas le parcourir. Si
              l'option  -depth  est  utilisée :  faux,  aucun  effet.  Puisque
              -delete   entraîne   -depth,   vous   ne   pouvez  pas  utiliser
              conjointement -prune et -delete.

       -quit  Arrêter immédiatement. Tous les processus fils  seront  arrêtés,
              et  plus  aucun des chemins indiqués sur la ligne de commande ne
              sera traité. find /tmp/toto /tmp/titi -print  -quit  n'affichera
              que  /tmp/toto,  par exemple. Toute ligne de commande construite
              par -execdir ... {} + sera exécutée avant l'arrêt  de  find.  La
              valeur  de  retour sera ou ne sera pas zéro, selon qu'une erreur
              ait eu lieu précédemment ou non.

   NOMS DE FICHIERS PEU COURANTS
       Beaucoup d'actions de find finissent par afficher des données qui  sont
       sous  le contrôle d'autres utilisateurs. Cela est vrai pour les noms de
       fichiers, les tailles, les dates de modification et ainsi de suite. Les
       noms  de  fichiers  posent  des problèmes potentiels puisqu'ils peuvent
       contenir n'importe quel caractère, à l'exception de  « \0 »  et  « / ».
       Les  caractères  inhabituels  dans les noms de fichier peuvent produire
       des résultats inattendus et souvent  indésirables  sur  votre  terminal
       (modifier   les  définitions  des  touches  de  fonctions  de  certains
       terminaux, par exemple).  Les  caractères  inhabituels  sont  gérés  de
       différentes façons selon les actions, selon la description ci-dessous.

       -print0, -fprint0
              Affiche  toujours exactement le nom de fichier non modifié, même
              si la sortie est un terminal.

       -ls, -fls
              Tout caractère inhabituel est toujours protégé. Les espaces, les
              barres  obliques  inverses et les guillemets sont affichés selon
              les  conventions  des  échappements  du  C  (« \f »,« \" »,  par
              exemple).  Tous  les autres caractères inhabituels sont affichés
              en octal. Tous les autres  caractères  affichables  (en  ce  qui
              concerne  -ls  et  -fls,  il  s'agit des caractères dont le code
              octal est compris entre 041 et 0176) sont affichés en l'état.

       -printf, -fprintf
              Si la sortie n'est pas un terminal, les caractères sont affichés
              en  l'état.  Sinon,  le résultat dépend de la directive en cours
              d'utilisation. Les directives %D, %F, %g, %G, %H, %Y et %y  sont
              transformées en valeurs non contrôlées par les propriétaires des
              fichiers, et donc imprimées telles quelles. Les  directives  %a,
              %b,  %c,  %d,  %i,  %k, %m, %M, %n, %s, %t, %u et %U donnent des
              valeurs  qui  sont  sous  le  contrôle  des  propriétaires   des
              fichiers,  mais  qui  ne peuvent pas être utilisées pour envoyer
              des données arbitraires au terminal, elles sont  donc  imprimées
              telles  quelles.  Les  directives  %f,  %h,  %l,  %p  et %P sont
              protégées par des guillemets. Cette protection est  appliquée  à
              la  manière  du ls du GNU. Il ne s'agit pas du même mécanisme de
              protection que celui utilisé pour -ls et -fls.  Si  vous  pouvez
              choisir  le  format  à  utiliser  pour la sortie de find, sachez
              qu'il vaut mieux utiliser « \0 » plutôt que  nouvelle  ligne  en
              tant  que terminaison, car les noms de fichiers peuvent contenir
              des caractères espaces ou  nouvelle  ligne.  Le  réglage  de  la
              variable d'environnement  `LC_CTYPE'  permet de définir la liste
              des caractères qui doivent être protégés.

       -print, -fprint
              Les guillemets sont gérés à la manière de -printf  et  -fprintf.
              Si  vous  utilisez  find dans un script ou dans un cas de figure
              particulier dans lesquels les  fichiers  correspondants  peuvent
              avoir  des  noms  arbitraires,  l'utilisation de -print0 devrait
              être préférée à -print.

       Les actions -ok et -okdir affichent le nom du fichier traité tel  qu'il
       est. Cela pourrait changer dans une version ultérieure.

   OPÉRATEURS
       Dans l'ordre de priorité décroissante :

       ( expr )
              Forcer  la  précédence.  Comme  les  parenthèses risquent d'être
              interprétées  par  le  shell,  vous  devriez   normalement   les
              protéger.  De  nombreux exemples de cette page de manuel utilise
              l'antislash dans ce but, par  exemple  « \(...\) »  au  lieu  de
              « (...) ».

       ! expr Vrai  si  expr  est  faux. Ce caractère doit habituellement être
              protégé pour éviter d'être interprété par le shell.

       -not expr
              Identique à ! expr, mais non conforme à la norme POSIX.

       expr1 expr2
              Deux expressions sur la même ligne  sont  implicitement  reliées
              par un ET  ; expr2 n'est pas évaluée si expr1 est fausse.

       expr1 -a expr2
              Identique à expr1 expr2.

       expr1 -and expr2
              Identique à expr1 expr2, mais non conforme à la norme POSIX.

       expr1 -o expr2
              OU ; expr2 n'est pas évaluée si expr1 est vraie.

       expr1 -or expr2
              Identique à expr1 -o expr2, mais non conforme à la norme POSIX.

       expr1 , expr2
              Lister ;  expr1  et  expr2  sont toujours évaluées. La valeur de
              expr1 est annulée, la valeur de la liste est la valeur de expr2.
              Le  séparateur  virgule  est pratique pour rechercher différents
              types de choses tout en ne traversant qu'une fois l'arborescence
              du  système  de  fichiers.  L'action -fprintf peut être utilisée
              pour récupérer une liste d'éléments variés pour les ranger  dans
              différents fichiers en sortie.

CONFORMITÉ AUX STANDARDS

       Définissez   la   variable  d'environnement  POSIXLY_CORRECT  pour  une
       compatibilité au plus proche du standard POSIX. Les  options  suivantes
       sont définies dans le standard POSIX (IEEE Std 1003.1, Édition 2003) :

       -H     Cette option est gérée.

       -L     Cette option est gérée.

       -name  Cette  option est gérée, mais la conformité à POSIX dépend de la
              conformité POSIX de la fonction fnmatch(3) de la bibliothèque du
              système.  À  l'heure  de  findutils-4.2.2, les métacaractères du
              shell (« * »,  « ? »  ou  « [] »  par  exemple)  trouveront  les
              fichiers  commençant par « . » (l'interprétation d'IEEE PASC 126
              l'impose). Ceci diffère des versions précédentes de findutils.

       -type  Gérée. POSIX définit « b », « c », « d », « l », « p », « f » et
              « s ».  Le  find  du GNU gère aussi « D », ce qui représente une
              Porte, pour les systèmes d'exploitation qui en fournissent.

       -ok    Gérée. L'interprétation de la réponse est  soumise  aux  schémas
              ('patterns')   choisis   grâce   au   réglage   de  la  variable
              d'environnement    `LC_MESSAGES'.    Lorsque     la     variable
              d'environnement  `POSIXLY_CORRECT' est définie, ces schémas sont
              obtenus à partir de la définition des réponses  positives  (yes)
              et   négatives  (no)  du  système.  Consultez  la  documentation
              nl_langinfo(3) du  système,  et  notamment  YESEXPR  et  NOEXPR.
              Lorsque  `POSIXLY_CORRECT'  n'est  pas  défini, ces schémas sont
              extraits du propre catalogue de messages de  find.

       -newer Gérée. Si le fichier spécifié est un  lien  symbolique,  il  est
              toujours   déréférencé.   Ceci  est  différent  du  comportement
              précédent, qui prenait en compte les valeurs de  temps  du  lien
              symbolique (consultez la section HISTORIQUE plus loin).

       -perm  Gérée.  Si la variable d'environnement POSIXLY_CORRECT n'est pas
              définie, quelques arguments de mode d'accès (par exemple  +a+x),
              bien  que  non  valables  en  POSIX,  sont  gérés  par  souci de
              compatibilité.

       Autres prédicats
              Les prédicats -atime, -ctime, -depth,  -group,  -links,  -mtime,
              -nogroup,  -nouser, -perm, -print, -prune, -size, -user et -xdev
              sont tous gérés.

       Le standard POSIX définit les parenthèses  « ( »,  « ) »,  la  négation
       « ! » et les opérateurs « and » et « or » (-a, -o).

       Toutes  les  autres  options,  prédicats, expressions et ainsi de suite
       sont des extensions hors du standard POSIX. Beaucoup de ces  extensions
       ne sont de toutes façons pas l'apanage du find du GNU.

       Le standard POSIX impose que find détecte les boucles.

              L'utilitaire find doit détecter les boucles infinies, telles que
              le retour dans un répertoire déjà visité, alors qu'on revient du
              dernier  fichier rencontré. Quand il détecte une boucle infinie,
              find doit afficher  un  message  de  diagnostic  sur  la  sortie
              d'erreur,  et  essayer  de  revenir  à  sa position d'origine ou
              s'arrêter.

       La commande find du GNU est conforme à cette exigence. Le décompte  des
       liens  dans  un  répertoire  qui  contient  des  liens  en dur vers des
       répertoires supérieurs sera souvent inférieur  à  celui  attendu.  Cela
       peut  être dû au fait que le find du GNU optimise l'accès en évitant de
       parcourir  un  sous-répertoire  qui  s'avère  être  un  lien  vers   un
       répertoire  supérieur. Bien que find ne parcourt pas le répertoire dans
       ce cas  précis,  il  permet  aussi  d'éviter  l'émission  d'un  message
       d'avertissement.   Cette   façon  de  faire  peut  sembler  génératrice
       d'erreurs, mais il est peu probable que quiconque puisse réellement  en
       être  gêné.  Si  l'optimisation du parcours des feuilles (NDT : leaf) a
       été désactivée avec -noleaf, cette entrée du  répertoire  sera  bel  et
       bien  parcourue,  et le message d'avertissement émis si nécessaire. Les
       liens symboliques ne peuvent pas servir à créer de telles boucles  dans
       le  système  de fichiers, par contre, si les options -L ou -follow sont
       actives,  alors  un  message  d'avertissement  sera  émis  quand   find
       rencontrera  une  boucle  de  liens symboliques. Comme pour les boucles
       contenant des liens en dur, l'optimisation  de  parcours  des  feuilles
       (NDT :  leaf)  signifie souvent que find sait qu'il n'a pas à appliquer
       stat() ou chdir() sur le lien symbolique, et donc que ce diagnostic est
       souvent inutile.

       L'option  -d  est  gérée  pour des raisons de compatibilité avec divers
       systèmes BSD, mais préférez plutôt  l'utilisation  de  l'option  -depth
       conforme POSIX.

       Le  positionnement  de  la  variable d'environnement POSIXLY_CORRECT ne
       modifie pas le comportement des tests -regex or -iregex parce  que  ces
       tests ne sont pas définis dans le standard POSIX.

VARIABLES D'ENVIRONNEMENT

       LANG   Fournit une valeur par défaut pour les variables de localisation
              qui ne sont pas définies ou nulles.

       LC_ALL Si elle contient une chaîne de caractères non vide, remplace les
              valeurs de toutes les autres variables de localisation.

       LC_COLLATE
              Le   standard   POSIX   exige  que  cette  variable  modifie  le
              comportement de la recherche de motifs à l'oeuvre dans  l'option
              -name.  Le  find  du  GNU  utilise  la fonction fnmatch(3) de la
              bibliothèque, et donc la gestion du « LC_COLLATE » dépend de  la
              bibliothèque  présente sur votre système. Cette variable affecte
              également l'interprétation de la réponse à -ok ;  alors  que  la
              variable  « LC_MESSAGES »  sélectionne  le  motif  effectivement
              utilisé pour interpréter la réponse à -ok, l'interprétation  des
              expressions  entre  crochet  dans  le  motif  sera  affectée par
              « LC_COLLATE ».

       LC_CTYPE
              Cette variable contrôle le traitement des classes de  caractères
              utilisées  dans  les  expressions rationnelles ainsi que dans le
              test   -name,  si  la  fonction  fnmatch(3)   fournie   par   la
              bibliothèque    le    gère.    Cette   variable   altère   aussi
              l'interprétation de toute classe de caractères  des  expressions
              rationnelles  utilisées  pour  analyser  la  réponse  donnée aux
              questions  posées  par    -ok.   La   variable   d'environnement
              `LC_CTYPE'   modifie   aussi   la   liste   des  caractères  dit
              non-imprimables  lors  de  l'affichage  des  noms  de  fichiers.
              Consultez la section 'NOMS DE FICHIERS INHABITUELS'.

       LC_MESSAGES
              Définit    la    locale    à    utiliser   pour   les   messages
              internationalisés.   Lorsque   la    variable    d'environnement
              `POSIXLY_CORRECT'    est    définie,    cela   détermine   aussi
              l'interprétation des réponses fournies aux questions posées  par
              l'action -ok.

       NLSPATH
              Détermine  l'endroit  où  sont rangés les catalogues de messages
              localisés.

       PATH   Détermine les  répertoires  dans  lesquels  find  cherchera  les
              exécutables invoqués par -exec, -execdir, -ok et -okdir.

       POSIXLY_CORRECT
              Détermine  la  taille  des  blocs  utilisés  par -ls et -fls. Si
              POSIXLY_CORRECT est défini, les blocs sont  des  unités  de  512
              octets. Sinon, il s'agit d'unités de 1024 octets.

              Définir  cette  variable désactive aussi par défaut les messages
              d'avertissement (c'est-à-dire entraîne -nowarn),  puisque  POSIX
              impose  que  sauf  dans  le  cas de l'affichage de -ok, tous les
              messages affichés  sur  stderr  doivent  être  des  messages  de
              diagnostic  et  ne  doivent  être  générés que dans le cas d'une
              sortie avec un statut différent de zéro.

              Lorsque POSIXLY_CORRECT n'est pas définie, -perm +zzz  est  géré
              de  la même façon que -perm /zzz, lorsque +zzz n'est pas un mode
              symbolique valable. Lorsque  POSIXLY_CORRECT  est  définie,  une
              telle demande est considérée comme une erreur.

              Lorsque  POSIXLY_CORRECT  est  défini,  la réponse aux questions
              posées par l'action -ok est  analysée  selon  le  catalogue  des
              messages  du  système,  et  non  selon  les  propres messages du
              catalogue de find.

       TZ     Modifie le fuseau horaire utilisé dans le  format  de  certaines
              directives liées au temps dans -printf et -fprintf.

EXEMPLES

       find /tmp -name noyau -type f -print | xargs /bin/rm -f

       Chercher  les fichiers qui s'appellent noyau dans le répertoire /tmp et
       ses sous-répertoires, puis les effacer. Rappelez-vous que  vous  pouvez
       rencontrer des problèmes si des noms de fichiers comportent des retours
       à la ligne, des guillemets simples ou doubles, ou des espaces.

       find /tmp -name noyau -type f -print0 | xargs -0 /bin/rm -f

       Chercher les fichiers qui s'appellent noyau dans le répertoire /tmp  et
       ses  sous-répertoires,  puis les effacer, en veillant à ce que les noms
       de fichiers ou de répertoires qui contiennent des retours à  la  ligne,
       des  guillemets  simples  ou doubles ou des espaces soient correctement
       traités. Le test -name est prioritaire sur le test -type afin  d'éviter
       l'appel de stat(2) pour chacun des fichiers.

       find . -type f -exec file '{}' \;

       Exécuter  « file »  sur  chaque  entrée du répertoire courant ou de ses
       sous-répertoires. Attention à  bien  protéger  les  accolades  par  des
       guillemets  simples  afin  d'empêcher  leur  interprétation en tant que
       ponctuation du script shell. De la même  façon,  le  point-virgule  est
       protégé grâce à une barre oblique inverse, bien que l'apostrophe aurait
       aussi pu être utilisée.

       find / \
       \( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \
       \( -size +100M -fprintf /root/grand.txt %-10s %p\n \)

       Parcourir le système de fichiers  en  une  seule  passe,  stockant  les
       fichiers  et  répertoires  en  setuid  dans  /root/suid.txt et les gros
       fichiers dans /root/grand.txt.

       find $HOME -mtime 0

       Rechercher les fichiers de  votre  répertoire  personnel  qui  ont  été
       modifiés   lors  des  dernières  vingt-quatre  heures.  Cette  commande
       s'exprime de cette façon parce que la recherche utilise le résultat  de
       la  division  entière  par  24  de l'heure de dernière modification (la
       fraction  horaire  est  donc  perdue).  Ce  qui  veut  dire  que   pour
       correspondre  à  -mtime  0,  un  fichier  doit avoir une antériorité de
       modification inférieure à 24 heures.

       find /sbin /usr/sbin -executable \! -readable -print

       Rechercher les fichiers qui offrent le droit d'exécution, mais  qui  ne
       sont pas lisibles.

       find . -perm 664

       Rechercher  les fichiers qui ont la permission de lire et d'écrire pour
       leur propriétaire et groupe, et que les autres utilisateurs ne  peuvent
       que  lire.  Les  fichiers  qui  satisfont  ces  critères,  mais qui ont
       d'autres bits de permissions activés (par exemple  si  le  fichier  est
       exécutable) ne seront pas sélectionnés.

       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 s'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).

       find . -perm /220
       find . -perm /u+w,g+w
       find . -perm /u=w,g=w

       Ces commandes font toutes les trois la même  chose,  mais  la  première
       utilise  le mode octal pour représenter les modes du fichier, alors que
       les deux autres se  servent  de  la  forme  symbolique.  Ces  commandes
       recherchent  tous  les fichiers dans lesquels soit le propriétaire soit
       le groupe peut écrire. Ces fichiers n'ont pas à offrir  à  la  fois  le
       droit d'écriture au propriétaire et au groupe, l'un ou l'autre suffira.

       find . -perm -220
       find . -perm -g+w,u+w

       Ces  commandes  font toutes deux la même chose, c'est-à-dire rechercher
       les fichiers qui offrent le  droit  d'écriture  au  propriétaire  ainsi
       qu'au groupe.

       find . -perm -444 -perm /222 ! -perm /111
       find . -perm -a+r -perm /a+w ! -perm /a+x

       Ces  commandes  recherchent  toutes deux les fichiers qui sont lisibles
       par tous (perm -444 ou -perm -a+r), ont au moins un des bits d'écriture
       actif  (-perm  /222  ou  -perm  /a+w), mais qui ne sont exécutables par
       personne (respectivement ! -perm /111 et ! -perm /a+x)

       cd /source-dir
       find . -name .snapshot -prune -o \( \! -name *~ -print0 \)|
       cpio -pmd0 /dest-dir

       Cette commande copie le contenu de /source-dir dans /dest-dir, sauf les
       fichiers  et  répertoires  s'appelant  .snapshot  (et  tout  ce  qu'ils
       contiennent). Elle ne copie pas non plus les  fichiers  ou  répertoires
       dont  le  nom  finit  par  ~,  mais  copie  par contre leur contenu. La
       structure -prune -o \( ... -print0 \) est  assez  connue.  L'idée  ici,
       c'est  que  l'expression  avant  -prune  indique les fichiers à couper.
       Toutefois, l'action -prune renvoie vrai, donc le -o qui suit n'applique
       l'expression  à  sa  droite  que  sur les répertoires qui n'ont pas été
       coupés (le contenu des répertoires coupés  n'est  même  pas  consulté).
       L'expression  à  droite du -o est entre parenthèses pour des raisons de
       clarté uniquement. L'accent est  mis  ici  sur  le  fait  que  l'action
       -print0  ne  s'exécute  que pour les items qui n'ont pas été coupés par
       -prune. Le « et  » implicite entre les conditions  de  tests  est  plus
       prioritaire  que  le  -o,  mais  les parenthèses aident à comprendre ce
       qu'il se passe ici.

       find repo/ -exec test -d {}/.svn -o -d {}/.git -o -d {}/CVS ; \
       -print -prune

       Étant donné les répertoires de  projets  suivants  et  les  répertoires
       d'administration   de  leurs  systèmes  de  gestion  de  configuration,
       effectuer une recherche efficace dans les racines des projets :

       repo/project1/CVS
       repo/gnu/project2/.svn
       repo/gnu/project3/.svn
       repo/gnu/project3/src/.svn
       repo/project4/.git

       Dans cet exemple, -prune évite l'inutile inspection des répertoires qui
       ont  déjà  été découverts (ne cherche pas par exemple dans project3/src
       puisqu'il a déjà été trouvé dans project3/.svn) tout en s'assurant  que
       les répertoires frères (project2 et project3) le sont.

VALEURS DE RETOUR

       find  s'arrête  en renvoyant la valeur de retour 0 si tous les fichiers
       ont été traités avec succès, ou en renvoyant une valeur supérieure à  0
       si  une  erreur est survenue. Cette information est volontairement très
       floue. Considérez simplement qu'en cas de valeur de  retour  différente
       de  zéro,  vous  ne  devez  pas  vous fier à l'exactitude des résultats
       fournis par find.

VOIR AUSSI

       locate(1), locatedb(5), updatedb(1),  xargs(1),  chmod(1),  fnmatch(3),
       regex(7),  stat(2),  lstat(2), ls(1), printf(3), strftime(3), ctime(3),
       Finding Files (en ligne dans Info, ou en version imprimée)

HISTORIQUE

       À l'heure de findutils-4.2.2, les métacaractères du shell (« * », « ? »
       ou  « [] »  par  exemple)  trouveront les fichiers commençant par « . »
       parce que l'interprétation d'IEEE POSIX 126 l'impose.

       -perm /MODE remplace la syntaxe -perm +MODE, qui est  dépréciée  depuis
       findutils-4.2.21.  -perm /000 correspond maintenant à tous les fichiers
       plutôt qu'à aucun, comme dans findutils-4.3.3.

       La gestion des nanosecondes dans les timestamps a été implémentée  dans
       findutils-4.3.3.

       L'action  -delete  force  find à envoyer un statut de sortie non nul en
       cas  d'échec,  comme  dans   findutils-4.3.11.   Toutefois,   find   ne
       s'interrompra  pas  immédiatement.  Dans  les  versions précédentes, le
       statut de sortie de find n'était pas modifié par l'échec de -delete.

       Fonctionnalités        Ajoutées   Offertes dans
       -newerXY               4.3.3      BSD
       -D                     4.3.1
       -O                     4.3.1
       -readable              4.3.0
       -writable              4.3.0
       -executable            4.3.0
       -regextype             4.2.24
       -exec ... +            4.2.12     POSIX
       -execdir               4.2.12     BSD
       -okdir                 4.2.12
       -samefile              4.2.11
       -H                     4.2.5      POSIX
       -L                     4.2.5      POSIX
       -P                     4.2.5      BSD
       -delete                4.2.3
       -quit                  4.2.3
       -d                     4.2.3      BSD
       -wholename             4.2.0
       -iwholename            4.2.0
       -ignore_readdir_race   4.2.0
       -fls                   4.0
       -ilname                3.8
       -iname                 3.8
       -ipath                 3.8
       -iregex                3.8

FAUX BOGUES

       $ find . -name *.c -print
       find : les chemins doivent précéder l'expression
       Syntaxe : find [-H] [-L] [-P] [-Oniveau] [-D help|tree|search|stat|rates|opt|exec] [CHEMIN...] [EXPRESSION]

       Cette erreur survient parce que *.c a été interprété par le  shell,  et
       que  la  commande  find  a  en  fait  reçu  une  ligne  de commande qui
       ressemblait à :

       find . -name bigram.c code.c frcode.c locate.c -print

       Cette commande ne peut bien sûr en aucun cas fonctionner. Plutôt que de
       vous  y  prendre  de cette façon, vous pourriez protéger votre motif de
       recherche par des guillemets ou protéger les caractères jokers :
       $ find . -name \*.c -print

BOGUES

       Des problèmes de sécurité se posent, inhérent au comportement  de  find
       tel  que  définit  par  le  standard POSIX, et qui ne peuvent donc être
       résolus. Par exemple, l'action -exec  est  dangereuse  par  nature,  et
       l'usage de -execdir est préférable. Consultez plutôt Finding Files pour
       plus de détails.

       La variable d'environnement LC_COLLATE n'a  aucun  effet  sur  l'action
       -ok.

       La meilleure façon de signaler un bogue est d'utiliser le formulaire en
       ligne sur http://savannah.gnu.org/bugs/?group=findutils.  L'intérêt  de
       cette  méthode  est  que  vous pourrez ensuite suivre l'évolution de la
       résolution du problème. Tout autre commentaire concernant find(1) et le
       paquet  findutils  en  général peut être envoyé à la liste de diffusion
       bug-findutils. Pour vous abonner à cette liste, envoyez un  courriel  à
       bug-findutils-request@gnu.org.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess entre  1997  et  2003.  La  version  présente  dans  Debian  est
       dorénavant maintenue par Sylvain Cherrier <sylvain DOT cherrier AT free
       DOT fr> et les membres de la liste  <debian-l10n-french  AT  lists  DOT
       debian  DOT  org>.  Veuillez signaler toute erreur de traduction par un
       rapport de bogue sur le paquet manpages-fr-extra.

                                                                       FIND(1)