[[man_de_find]]

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

man_de_find [2016/03/30 15:33] (Version actuelle)
Ligne 1: Ligne 1:
 +==== Manuel de la commande "​find"​ ====
 +
 +<​code>​
 +FIND(1) ​                                                 General Commands Manual ​                                                ​FIND(1)
 +
 +
 +
 +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 « Secu‐
 +       rity 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 uti‐
 +       lisé (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  informa‐
 +              tions  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 ​ tou‐
 +              jours 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'​informa‐
 +       ​tion ​ qui sera utilisée pour les comparaisons sera extraite des propriétés du lien symbolique. Sinon, elle sera extraite des pro‐
 +       ​prié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 ​ suffi‐
 +       ​sants,​ soit parce que le lien pointe vers un fichier inexistant),​ alors ce sont les propriétés du lien lui-même qui seront utili‐
 +       ​sé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 utili‐
 +       sé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  per‐
 +              formances ​ de  find, il sera de nouveau retiré. Réciproquement,​ les optimisations qui s'​avèrent fiables, robustes et effi‐
 +              caces 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 les‐
 +       quels 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 -regex‐
 +       type 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 four‐
 +              nis 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 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 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éper‐
 +              toire, ​ 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 com‐
 +              mande, 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 ​ sys‐
 +       tè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 modifi‐
 +              cation 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 com‐
 +              prendre 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étacarac‐
 +              tè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 findu‐
 +              tils-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éta‐
 +              caractè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 référence
 +              Compare le timestamp du fichier courant avec la référence. L'​argument référence 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 référence est uti‐
 +              lisé pour la comparaison.
 +
 +              a   La date et l'​heure de dernier accès au fichier référence
 +              B   La date et l'​heure de création du fichier référence
 +              c   La date et l'​heure de changement d'​état de l'​inode référence
 +              m   La date et l'​heure de dernière modification du fichier référence
 +              t   ​référence 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éper‐
 +              toires, ​ utilisez ​ -prune ​ plutôt que de vérifier chaque fichier de l'​arborescence. Pour ignorer par exemple le répertoire
 +              « src/emacs » et tous ses 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 com‐
 +              pliqué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  per‐
 +              mission ​ définie). ​ Vous  voudrez plus certainement utiliser les formes « / » ou « - », telles que -perm -g=w, qui corres‐
 +              pondent à 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 cor‐
 +              respondra 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 com‐
 +              portement 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  tes‐
 +              tez 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 correspon‐
 +              dant, qui n'est normalement pas celui à partir duquel vous avez lancé find. C'est une méthode bien plus  fiable ​ d'​invoca‐
 +              tion 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  carac‐
 +              tè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  direc‐
 +              tives « % ». 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  fonction‐
 +              neront ​ peut-être pas comme vous vous y attendiez. Cela veut aussi dire que le drapeau « - » fonctionnera (il force l'​ali‐
 +              gnement 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 dra‐
 +                     peau # (« %#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'​offrent 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 poten‐
 +       tiels 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 pro‐
 +              prié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  sor‐
 +              tie  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 ​ sui‐
 +       ​vantes 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 biblio‐
 +              thèque du système. À l'​heure de findutils-4.2.2,​ les métacaractères du shell (« * », « ? » ou « [] » par exemple) ​ trouve‐
 +              ront  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'​envi‐
 +              ronnement `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_lan‐
 +              ginfo(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 par‐
 +       court 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'​optimisa‐
 +       tion 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éta‐
 +              tion  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 ​ modifi‐
 +       ​cation ​ (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 ​ utilisa‐
 +       ​teurs ​ 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 utili‐
 +       ​sateurs 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  configura‐
 +       tion, 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)
 +
 +</​code>​
  
  • man_de_find.txt
  • Dernière modification: 2016/03/30 15:33
  • (modification externe)