Seth Woolley's Man Viewer

find(1) - find, find - Rechercher des fichiers dans une hiérarchie de répertoires - man 1 find

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

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(1,3,5) GNU de find.  find parcourt
       les arborescences de répertoires commençant  en  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  des  règles  de  priorité  décrites  dans  la  section
       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
       rationnelle.  de point de départ. Si aucune expression n'est  fournie,
       find utilise l'expression `-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'ensemble  des
       opérations plutôt que le traitement d'un fichier particulier, et ren-
       voyant 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 sur tous  les  fichiers  pour
       lesquels l'expression est vraie.

   OPTIONS
       Toutes  les  options renvoient toujours la valeur vraie. Elles ont tou-
       jours un effet global, plutôt que de s'appliquer  uniquement  à  leur
       emplacement  dans  l'expression.   Néanmoins, pour améliorer la lisi-
       bilité, 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 plutôt 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(1,5) sur la  sortie  standard et  se  ter-
              miner 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 pro-
              fondeur  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 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.

       -noleaf
              Ne pas faire d'optimisation en supposant  que  les  répertoires
              contiennent deux sous-répertoires de moins que leurs nombres de
              liens physiques.  Cette option est nécessaire lorsque l'on par-
              court  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 montage 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  répertoire  par-
              ent.   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éper-
              toires.  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  aug-
              mentation notable de la vitesse de traitement.

       -version, --version
              Afficher un numéro de version(1,3,5) sur la sortie standard et se ter-
              miner 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 fichier
              dernier  accès au fichier plus récent que la dernière modifi-
              cation de fichier.  Le comportement de l'option -anewer est mod-
              ifié  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 fichier
              dernière modification du statut du fichier plus récente que la
              dernière  modification  du fichier fichier.  Le comportement de
              l'option -cnewer est modifié par l'option -follow uniquement si
              celle-ci la précède sur la ligne de commande.

       -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(1,3,5) d'Unix. Une liste non exhaustive des systèmes accept(2,8)é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  ID
              numérique).

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

       -iname motif
              identique à -name, mais sans différencier  les  majuscules  et
              les minuscules. Par exemple les motifs `fo*' et `F??' correspon-
              dent 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 représentant un lien symbolique, dont le contenu corre-
              spond  au  motif indiqué. Lors du développement des méta-car-
              actères, `/' et `.'  ne sont  pas  traités  différemment  des
              autres  caractères  (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 description 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 utilisa-
              teur.

       -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éremment 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éper-
              toire  `src/emacs'  et  tous  ses  sous-répertoires,  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  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 rationnelle  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 expres-
              sions rationnelles `.*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 tampon)

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

              d      répertoire

              p      tube nommé (FIFO)

              f      fichier régulier

              l      liens symbolique

              s      socket(2,7,n)

              D      door (Solaris)

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

       -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 symbolique.  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 occurrences, 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 com-
              mande  par  le  shell, en utilisant le caractère d'échappement
              (`\') ou une protection par des  apostrophes.  La  commande  est
              exécutée depuis le répertoire 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 cor-
              respondent 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 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 sortie standard,
              suivi d'un saut de ligne.

       -print0
              vrai ; affiche le nom complet du fichier sur la sortie 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  standard,  en
              interprétant  les  séquences  d'échappement `\' et les direc-
              tives`%'.  La largeur et la précision des champs peuvent  être
              spécifiés comme dans la fonction printf(1,3,1 builtins)(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 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

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

              %a     Date  du  dernier  accès au fichier, dans le format ren-
                     voyé 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 Janvier 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(3,5,7)

                     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(3,5,7) 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(3,5,7) du jour de la semaine (Dim ..
                            Sam)

                     A      nom  local  entier  du  jour  de  la  semaine,  de
                            longueur variable (Dimanche .. Samedi)

                     b      abréviation locale(3,5,7) du mois (Jan..Dec)

                     B      nom  local  entier  du  mois, de longueur variable
                            (Janvier .. Décembre)

                     c      date et heure locales (Sam  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  correspond   Ã
                            Dimanche

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

                     x      représentation locale(3,5,7) 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 fonction 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éper-
                     toires, 0 signifiant que le fichier est un argument de la
                     ligne de commande.

              %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     Numéro 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'argument  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 propriétaire du fichier.

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

       -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_COR-
              RECT soit positionnée, auquel cas la taille  est  calculée  en
              blocs de 512 octets.

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

       ( expr(1,3,n) )
              Force la priorité.

       ! expr(1,3,n) Vrai si expr(1,3,n) est fausse.

       -not expr(1,3,n)
              Comme ! expr(1,3,n).

       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(1,3,5) imprimée)

TRADUCTION
       Christophe Blaess, 1997-2003.



findutils                       15 janvier 1997                       FIND(1L)

References for this manual (incoming links)