FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


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

SYNOPSIS
       find [chemin...] [expression]

DESCRIPTION
       Cette page de manuel documente la version GNU de find.

       find parcourt les arborescences de répertoires  commençant
       en  chacun des chemins mentionnés, en évaluant les expres­
       sions fournies pour chaque fichier rencontré.

       L'évaluation de l'expression se fait de gauche  à  droite,
       en  suivant  des règles de précédence décrite dans la sec­
       tion OPÉRATEURS, jusqu'à ce que  le  résultat  soit  connu
       (par  exemple  la partie gauche vraie pour un opérateur OU
       ou fausse pour un opérateur ET).

       Le premier argument commençant par `-', `(', `)', `,',  ou
       `!'   est  considéré  comme le début de l'expression, tous
       les arguments précédents sont des chemins à parcourir.

       Tous les arguments ultérieurs  sont  considérés  comme  le
       reste de l'expression régulière.

       Si  aucun  chemin  n'est mentionné, le répertoire en cours
       sert de point de départ.

       Si aucune expression n'est fournie, find utilise l'expres­
       sion `-print' par défaut.

       find  se  termine  avec  le  code  de retour 0 si tous les
       fichiers ont pu être examinés correctement, et supérieur à
       0 si une erreur s'est produite.

EXPRESSIONS
       L'expression  est constituée d'options (affectant l'ensem­
       ble des opérations plutôt que le traitement  d'un  fichier
       particulier,  et  renvoyant toujours vrai), de tests (ren­
       voyant 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 sur tous les fichiers pour  lesquels  l'expres­
       sion est vraie.

   OPTIONS
       Toutes  les  options  renvoient  toujours la valeur vraie.



FSF                      15 Janvier 1997                        1





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


       Elles ont toujours un effet global, plutôt que de s'appli­
       quer  uniquement  à  leur  emplacement  dans l'expression.
       Néanmoins, pour améliorer la lisibilité, il est préférable
       de les placer au début de l'expression.

       -daystart
              Mesurer  les  temps  (avec  -amin,  -atime,  -cmin,
              -ctime, -mmin, et -mtime) depuis  le  début  de  la
              journée plutot que depuis 24 heures.

       -depth Traiter   d'abord  les  sous-répertoires  avant  le
              répertoire lui-même.

       -follow
              Déréférencer les liens symboliques pour accéder aux
              fichiers  vers lesquels ils pointent. Ceci implique
              l'option -noleaf.

       -help, --help
              Afficher un message d'aide sur la  sortie  standard
              et terminer normalement.

       -maxdepth n
              Descendre  au  plus  n  niveaux  (n étant un entier
              positif ou nul), dans  les  répertoires  parcourus.
              `-maxdepth 0' signifie que les tests et les actions
              ne s'appliquent qu'aux arguments  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  arguments  de la ligne de com­
              mande.

       -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  compati­
              bilité avec d'anciennes versions de find.

       -noleaf
              Ne  pas  faire  d'optimisation en supposant que les
              répertoires contiennent 2 fois moins de sous-réper­
              toires que leurs nombres de liens physiques.  Cette
              option est nécéssaires lorsque  l'on  parcourt  des
              systèmes de fichiers ne suivant pas les conventions
              Unix  sur  les  liens  de  répertoires,  comme  les
              systèmes  MS-DOS,  les CD-ROM ou les points de mon­
              tage de volumes  AFS.   Chaque  répertoire  sur  un
              système  de  fichiers Unix dispose au moins de deux
              liens physiques, son nom et  `.'.  De  plus  chaque
              sous-répertoire  a  également  un lien `..' vers le



FSF                      15 Janvier 1997                        2





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


              répertoire parent.  Quand find  examine  un  réper­
              toire,  il  sait  qu'il  y  a 2 fois moins de sous-
              répertoires 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, et ceci
              fournit une augmentation notable de la  vitesse  de
              traitement.

       -version, --version
              Afficher  un  numéro de version sur la sortie stan­
              dard et terminer normalement.

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

   TESTS
       Les arguments numériques peuvent être indiqués comme suit:

       +n     supérieur à n,

       -n     inférieur à n,

       n      égal à n.

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

       -anewer file
              dernier  accès  au  fichier  plus  récent  que   la
              dernière  modification de file.  Le comportement de
              l'option -anewer est modifié par  l'option  -follow
              uniquement  si  celle-ci la précède sur la ligne de
              commande.

       -atime n
              dernier accès au fichier il y a n*24 heures.

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

       -cnewer file
              dernière  modification  du  statut  du fichier plus
              récente que la  dernière  modification  du  fichier
              file.  Le comportement de l'option -cnewer est mod­
              ifié par l'option -follow uniquement si celle-ci la
              précède sur la ligne de commande.





FSF                      15 Janvier 1997                        3





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


       -ctime n
              dernière  modification  du statut du fichier il y a
              n*24 heures.

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

       -false toujours faux.

       -fstype type
              fichier  se  trouvant sur un système de fichiers du
              type indiqué.  Les types de  systèmes  de  fichiers
              dépendent  de  la  version  d'Unix.  Une liste non-
              exhaustive des systèmes acceptés sur certaines ver­
              sions  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 ID numérique).

       -ilname motif
              identique  à  -lname,  mais  sans  différencier les
              majuscules et les minuscules.

       -iname pattern
              identique  à  -name,  mais  sans  différencier  les
              majuscules  et  les  minuscules.  Par  exemple  les
              motifs `fo*' et `F??'  correspondent  aux  noms  de
              fichiers `Foo', `FOO', `foo', `fOo', etc...

       -inum n
              fichier dont le numéro d'i-noeud est n.

       -ipath motif
              identique  à  -path,  mais  sans  différencier  les
              majuscules et les minuscules.

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

       -links n
              fichier ayant n liens.

       -lname motif
              fichier  répresentant  un  lien symbolique, dont le
              contenu  correspond  au  motif  indiqué.  Lors   du
              développement  des  méta-caractères, `/' et `.'  ne
              sont pas traités différement des autres  caractères



FSF                      15 Janvier 1997                        4





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


              (voir  l'exemple  dans  la  description de l'option
              -path).

       -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.

       -name motif
              Fichier dont le nom de base (sans  les  répertoires
              du  chemin  d'accès), correspond au motif du shell.
              Les méta-caractères (`*', `?',  et  `[]')  ne  sont
              jamais  mis en correspondance avec un point `.'  au
              début du nom.  Pour ignorer  un  répertoire,  ainsi
              que  tous  ses  sous-répertoires, utiliser l'option
              -prune; vous trouverez un exemple dans la  descrip­
              tion de l'option -path.

       -newer fichier
              Fichier  modifié  plus  récemment  que  le  fichier
              indiqué.   L'option  -newer  n'est   affectée   par
              l'option  -follow que si celle-ci la précède sur la
              ligne de commande.

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

       -nogroup
              Fichier  dont  le  G-ID  numérique  ne correspond à
              aucun groupe d'utilisateurs.

       -path motif
              Fichier dont le nom  complet  correspond  au  motif
              fourni.  Lors du développement des méta-caractères,
              `/' et `.'  ne sont  pas  traités  différement  des
              autres caractères, ainsi par exemple :
                        find . -path './sr*sc'
              affichera    l'élément   de   répertoire   intitulé
              './src/misc' (s'il en existe un).  Pour ignorer une
              arborescence   complète  de  répertoires,  utilisez
              l'option  -prune  plutôt  que  de  vérifier  chaque
              fichier  de  l'arbre.  Par exemple, pour ignorer le
              répertoire  `src/emacs'  et  tous  ses  sous-réper­
              toires, tout en affichant le nom de tous les autres
              fichiers, faites quelque chose comme :
                        find  .  -path  './src/emacs'  -prune  -o
                        -print

       -perm mode
              Fichier  dont les autorisations d'accès sont fixées



FSF                      15 Janvier 1997                        5





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


              exactement au mode indiqué (en notation  symbolique
              ou  octale). La notation symbolique utilise le mode
              0 comme point de départ.

       -perm -mode
              Fichier ayant au  moins  toutes  les  autorisations
              indiquées dans le mode.

       -perm +mode
              Fichier ayant certaines des autorisations indiquées
              dans le mode.

       -regex motif
              Nom  de  fichier   correspondant   à   l'expression
              régulière  motif.   Il  s'agit d'une correspondance
              sur le nom de fichier complet, pas d'une recherche.
              Par  exemple,  pour  mettre  en  correspondance  un
              fichier nommé `./fubar3', vous pouvez utiliser  les
              expressions  régulières  `.*bar.' ou `.*b.*3', mais
              pas `b.*r3'.

       -size n[bckw]
              Fichier utilisant n unités  d'espace.   Les  unités
              sont  des  blocs de 512 octets par défaut (ou si un
              suffixe `b' suit le nombre n),  des  octets  si  un
              suffixe  `c'  suit n, des kilo-octets si un suffixe
              `k' est utilisé, ou des mots de 2 octets si un  `w'
              suit le nombre n.  La taille ne prend pas en compte
              les blocs indirects,  mais  elle  comptabilise  les
              blocs des fichiers éparpillés pas encore alloués.

       -true  Toujours vrai.

       -type c
              Fichier du type c:

              b      fichier spécial en mode bloc (avec buffer)

              c      fichier  spécial  en  mode  caractère  (sans
                     buffer)

              d      répertoire

              p      tube nommé (FIFO)

              f      fichier régulier

              l      liens symbolique

              s      socket

       -uid n Fichier dont l'U-ID numérique vaut n.





FSF                      15 Janvier 1997                        6





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


       -used n
              fichier dont le dernier accès date de n jours après
              la dernière modification de son statut.

       -user utilisateur
              fichier  appartenant  à l'utilisateur indiqué (U-ID
              numérique éventuellement)

       -xtype c
              comme -type sauf si le fichier est un lien  symbol­
              ique.  Dans ce cas, si l'option -follow n'a pas été
              fournie, le test est vrai si le fichier destination
              du  lien  est  de type c; Si l'option -follow a été
              réclamé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
       -exec commande ;
              Exécute  la  commande;  vrai si le code de retour 0
              est renvoyé. Tous les arguments  suivants  de  find
              sont  considérés  comme des arguments pour la ligne
              de commande, jusqu'à ce qu'on rencontre un `;'.  La
              chaîne  `{}' est remplacée par le nom du fichier en
              cours  de  traitement,  et  ceci  dans  toutes  ses
              occurences,  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 apos­
              trophes.  La commande est exécutée depuis le réper­
              toire de départ.

       -fls fichier
              vrai; comme -ls mais écrit dans le fichier comme le
              fait -fprint.

       -fprint fichier
              vrai;  écrit  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
              fichiers ``/dev/stdout''  et  ``/dev/stderr''  sont
              traités  de  manière  spécifique, ils correspondent
              respectivement à la sortie standard, et à la sortie
              des erreurs.

       -fprint0 fichier
              vrai;  comme  -print0  mais  écrit  dans le fichier
              comme le fait -fprint.

       -fprintf fichier format
              vrai; comme -printf  mais  écrit  dans  le  fichier



FSF                      15 Janvier 1997                        7





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


              comme le fait -fprint.

       -ok commande ;
              comme  -exec  mais  interroge d'abord l'utilisateur
              (en utilisant l'entrée standard).  Si la réponse ne
              commence  pas par `y' ou `Y', la commande n'est pas
              exécutée, et le test devient faux.

       -print vrai; affiche le nom complet du fichier sur la sor­
              tie standard, suivi d'un saut de ligne.

       -print0
              vrai; affiche le nom complet du fichier sur la sor­
              tie standard, suivi d'un caractère nul. Ceci permet
              aux fichiers dont le nom contient un saut de ligne,
              d'être correctement interprétés par les  programmes
              utilisant les données en sortie de find.

       -printf format
              vrai; affiche le format indiqué sur la sortie stan­
              dard, 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(3)  du  langage C.  Con­
              trairement à -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  suiv­
              antes :

              \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

              \\     Un caractère `Backslash' littéral (`\').

              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 (%)




FSF                      15 Janvier 1997                        8





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


              %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(3).  Les valeurs possibles  pour  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(3)  existantes.

                      @      secondes écoulées depuis le 1er Jan­
                             vier 1970 à 00h 00 GMT.

                     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,  sur  un  cadran de 12 heures
                             (hh:mm:ss [AP]M)

                      S      secondes (00..61)

                      T      heure, sur un cadran  de  24  heures
                             (hh:mm:ss)

                      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 (Sun..Sat)

                      A      nom  local  entier  du  jour  de  la
                             semaine, de longueur variable  (Sun­
                             day..Saturday)




FSF                      15 Janvier 1997                        9





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


                      b      abréviation     locale    du    mois
                             (Jan..Dec)

                      B      nom  local  entier   du   mois,   de
                             longueur  variable  (January..Decem­
                             ber)

                      c      date et heure locales  (Sat  Nov  04
                             12:02:33 EST 1989)

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

                      D      date (mm/jj/aa)

                      h      comme 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), 0 corre­
                             spond à Dimanche

                      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 dernier chiffres de l'année
                              (00..99)

                      Y      année (1970...)

              %b     Taille du fichier en nombre de blocs de  512
                     octets (arrondi par excès).

              %c     Date  de  dernière modification du statut du
                     fichier, dans le format renvoyé par la fonc­
                     tion C ctime(3).

              %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 argument de la ligne de commande.




FSF                      15 Janvier 1997                       10





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


              %f     Nom du fichier, sans nom de répertoire.

              %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 G-
                     ID numérique si le groupe n'a pas de nom.

              %G     G-ID numérique du fichier.

              %h     Répertoires en tête du nom de fichier, (tout
                     sauf le dernier nom).

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

              %i     Numero d'i-noeud du fichier (en décimal).

              %k     Taille du fichier, en nombre de blocs  de  1
                     Kilo-Octet, arrondi par excès.

              %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).

              %n     Nombre de liens physiques sur le fichier.

              %p     Nom du fichier.

              %P     Nom  du fichier, ainsi que le nom de l'argu­
                     ment de ligne de commande à partir duquel le
                     fichier a été trouvé.

              %s     Taille du fichier en octets.

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

              %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 U-ID
                     numérique si l'utilisateur n'a pas de nom.

              %U     U-ID numérique du proprietaire du fichier.

              Un caractère `%' suivi de tout autre caractère  est
              éliminé (mais le second caractère est affiché).




FSF                      15 Janvier 1997                       11





FIND(1L)          Manuel de l'utilisateur Linux          FIND(1L)


       -prune vrai  si  l'option -depth n'est pas fournie; ne pas
              descendre  dans  l'arborescence  du  répertoire  en
              cours.
              faux si l'option -depth est fournie, et sans effet.

       -ls    vrai, affiche le nom du fichier en  cours  dans  le
              format  `ls  -dils'  sur  la  sortie  standard.  La
              taille est comptée en blocs de 1 Ko, à moins que la
              variable d'environnement POSIXLY_CORRECT soit posi­
              tionnée, auquel cas la taille est calculée en blocs
              de 512 octets.

   OPERATEURS
       Dans l'ordre de précédence décroissante :

       ( expr )
              Force la précédence.

       ! expr Vrai si expr est fausse.

       -not expr
              Comme ! expr.

       expr1 expr2
              ET  (implicite);  expr2  n'est pas évaluée si expr1
              est fausse.

       expr1 -a expr2
              Comme expr1 expr2.

       expr1 -and expr2
              Comme expr1 expr2.

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

       expr1 -or expr2
              Comme expr1 -o expr2.

       expr1 , expr2
              Liste; expr1 et expr2 sont toujours évaluées toutes
              les  deux.   La  valeur  de  expr1  est ignorée; la
              valeur de la liste est celle de expr2.

VOIR AUSSI
       locate(1L), locatedb(5L), updatedb(1L), xargs(1L)  Finding
       Files (en-ligne dans Info, ou en version imprimée)


TRADUCTION
       Christophe Blaess, 1997.






FSF                      15 Janvier 1997                       12