AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

find - En ligne dans le Cloud

Exécutez la recherche dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande find qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


find - recherche de fichiers dans une hiérarchie de répertoires

SYNOPSIS


trouver [-H] [-L] [-P] [-D debugopts] [-Olevel] [point de départ...] [expression]

DESCRIPTION


Cette page de manuel documente la version GNU de trouver. GNOU trouver recherche dans l'arborescence des répertoires
enraciné à chaque point de départ donné en évaluant l'expression donnée de gauche à droite,
selon les règles de préséance (voir section OPÉRATEURS), jusqu'à ce que l'issue soit connue
(le membre de gauche est faux pour ainsi que opérations, vrai pour or), à quel point trouver se déplace
au prochain nom de fichier. Si aucun point de départ n'est spécifié, `.' est assumé.

Si vous utilisez trouver dans un environnement où la sécurité est importante (par exemple si vous
l'utilisent pour rechercher des répertoires accessibles en écriture par d'autres utilisateurs), vous devriez lire le
chapitre « Considérations sur la sécurité » de la documentation findutils, qui s'appelle Trouver
Fichiers et est livré avec findutils. Ce document comprend également beaucoup plus de détails et
discussion que cette page de manuel, vous pouvez donc la trouver une source d'informations plus utile.

OPTIONS


La -H, -L ainsi que -P les options contrôlent le traitement des liens symboliques. Arguments de ligne de commande
après ceux-ci sont considérés comme des noms de fichiers ou de répertoires à examiner, jusqu'au
premier argument qui commence par `-', ou l'argument `(' ou `!'. Cet argument et tout
les arguments suivants sont considérés comme l'expression décrivant ce qui doit être recherché.
Si aucun chemin n'est indiqué, le répertoire courant est utilisé. Si aucune expression n'est donnée, le
expression -impression est utilisé (mais vous devriez probablement envisager d'utiliser -imprimer0 au lieu,
en tous cas).

Cette page de manuel parle des `options' dans la liste d'expressions. Ces options contrôlent
le comportement de trouver mais sont spécifiés immédiatement après le dernier nom de chemin. Les cinq
options "réelles" -H, -L, -P, -D ainsi que -O doit apparaître avant le premier nom de chemin, le cas échéant. UNE
tiret double -- peut également être utilisé pour signaler que les arguments restants ne sont pas des options
(bien que s'assurer que tous les points de départ commencent par `./' ou `/' est généralement plus sûr si
vous utilisez des caractères génériques dans la liste des points de départ).

-P Ne jamais suivre les liens symboliques. C'est le comportement par défaut. Lorsque trouver examine ou
imprime des informations sur un fichier, et le fichier est un lien symbolique, les informations utilisées
sont tirés des propriétés du lien symbolique lui-même.

-L Suivre les liens symboliques. Lorsque trouver examine ou imprime des informations sur les fichiers, le
les informations utilisées sont extraites des propriétés du fichier vers lequel le lien
points, et non du lien lui-même (sauf s'il s'agit d'un lien symbolique rompu ou trouver is
impossible d'examiner le fichier vers lequel pointe le lien). L'utilisation de cette option implique
-noleaf. Si vous utilisez plus tard le -P option, -noleaf sera toujours en vigueur. Si -L
est en vigueur et trouver découvre un lien symbolique vers un sous-répertoire lors de sa
search, le sous-répertoire pointé par le lien symbolique sera recherché.

When the -L l'option est en vigueur, le De type le prédicat correspondra toujours au
type du fichier vers lequel pointe un lien symbolique plutôt que le lien lui-même (sauf si
le lien symbolique est rompu). Actions qui peuvent faire devenir des liens symboliques
cassé pendant trouver s'exécute (par exemple -effacer) peut prêter à confusion
comportement. Utilisant -L provoque la -lnom ainsi que -ilname prédicats toujours à retourner
faux

-H Ne suit pas les liens symboliques, sauf lors du traitement des arguments de la ligne de commande.
Quand trouver examine ou imprime des informations sur les fichiers, les informations utilisées doivent être
tiré des propriétés du lien symbolique lui-même. La seule exception à cela
comportement est lorsqu'un fichier spécifié sur la ligne de commande est un lien symbolique, et le
le lien peut être résolu. Pour cette situation, les informations utilisées sont tirées de
quel que soit le point vers lequel le lien pointe (c'est-à-dire que le lien est suivi). Les informations sur
le lien lui-même est utilisé comme solution de repli si le fichier pointé par le lien symbolique
ne peut pas être examiné. Si -H est en vigueur et l'un des chemins spécifiés sur le
la ligne de commande est un lien symbolique vers un répertoire, le contenu de ce répertoire sera
être examiné (bien que -maxdepth 0 l'empêche bien sûr).

Si plus d'un des -H, -L ainsi que -P est spécifié, chacun remplace les autres ; le dernier
apparaissant sur la ligne de commande prend effet. Comme il s'agit de la valeur par défaut, le -P l'option devrait
être considéré comme étant en vigueur à moins que l'un ou l'autre -H or -L est spécifié.

GNU trouver fichiers de statistiques fréquemment pendant le traitement de la ligne de commande elle-même, avant
toute recherche a commencé. Ces options affectent également la façon dont ces arguments sont traités.
Plus précisément, il existe un certain nombre de tests qui comparent les fichiers répertoriés sur la ligne de commande
contre un dossier que nous étudions actuellement. Dans chaque cas, le fichier spécifié sur le
la ligne de commande aura été examinée et certaines de ses propriétés auront été enregistrées. Si
le fichier nommé est en fait un lien symbolique, et le -P l'option est en vigueur (ou si ni l'un ni l'autre
-H ni -L ont été précisés), les informations utilisées pour la comparaison seront issues du
propriétés du lien symbolique. Dans le cas contraire, il sera tiré des propriétés du
fichier vers lequel pointe le lien. Si trouver ne peut pas suivre le lien (par exemple parce qu'il a
privilèges insuffisants ou le lien pointe vers un fichier inexistant) les propriétés du
le lien lui-même sera utilisé.

When the -H or -L Options in effet, tous symbolique Gauche énumérés comme argument de
-plus récent sera déréférencé et l'horodatage sera extrait du fichier auquel le
points de liaison symboliques. La même considération s'applique à -plus récentXY, -un nouveau, un débutant ainsi que -cnewer.

La -suivre option a un effet similaire à -L, bien qu'il prenne effet au moment où
il apparaît (c'est-à-dire si -L n'est pas utilisé mais -suivre c'est-à-dire que tout lien symbolique apparaissant après
-suivre sur la ligne de commande seront déréférencés, et ceux qui le précèdent ne le seront pas).

-D options de débogage
Imprimer les informations de diagnostic ; cela peut être utile pour diagnostiquer les problèmes avec pourquoi
trouver ne fait pas ce que vous voulez. La liste des options de débogage doit être une virgule
séparé. La compatibilité des options de débogage n'est pas garantie entre les versions
de findutils. Pour une liste complète des options de débogage valides, voir la sortie de trouver
-D aider. Les options de débogage valides incluent

help Expliquer les options de débogage

tree Affiche l'arbre d'expression dans sa forme originale et optimisée.

stat Imprimer les messages au fur et à mesure que les fichiers sont examinés avec le état ainsi que lstat appels système.
La trouver programme essaie de minimiser de tels appels.

opt Imprime des informations de diagnostic relatives à l'optimisation de l'expression
arbre; voir l'option -O.

rate Imprime un résumé indiquant la fréquence à laquelle chaque prédicat a réussi ou échoué.

-Olevel
Permet l'optimisation des requêtes. le trouver le programme réorganise les tests pour accélérer l'exécution
tout en préservant l'effet global ; c'est-à-dire que les prédicats avec des effets secondaires ne sont pas
réorganisés les uns par rapport aux autres. Les optimisations effectuées à chaque optimisation
niveau sont les suivants.

0 Équivalent au niveau d'optimisation 1.

1 Il s'agit du niveau d'optimisation par défaut et correspond au
comportement. Les expressions sont réorganisées afin que les tests basés uniquement sur les noms
de fichiers (par exemple -patate douce ainsi que -expression régulière) sont exécutés en premier.

2 Quelconque De type or -xtype les tests sont effectués après tout test basé uniquement sur la
noms de fichiers, mais avant tout test nécessitant des informations du
inode. Sur de nombreuses versions modernes d'Unix, les types de fichiers sont renvoyés par
readdir () et donc ces prédicats sont plus rapides à évaluer que les prédicats
qui doivent d'abord déclarer le fichier. Si vous utilisez le -typefs FOO prédicat et
spécifier un type de système de fichiers FOO qui n'est pas connue (c'est-à-dire présente dans
`/ etc / mtab') à l'époque trouver commence, ce prédicat est équivalent à
-faux.

3 À ce niveau d'optimisation, l'optimiseur de requêtes entièrement basé sur les coûts est activé.
L'ordre des tests est modifié afin que des tests bon marché (c'est-à-dire rapides) soient effectués
les premiers et les plus coûteux sont effectués plus tard, si nécessaire. Dans
chaque tranche de coût, les prédicats sont évalués plus tôt ou plus tard selon
s'ils sont susceptibles de réussir ou non. Pour -o, des prédicats qui sont
susceptibles de réussir sont évalués plus tôt, et pour -a, des prédicats qui sont
susceptibles d'échouer sont évalués plus tôt.

L'optimiseur basé sur les coûts a une idée fixe de la probabilité qu'un test donné
réussir. Dans certains cas, la probabilité tient compte de la nature spécifique du
tester (par exemple, De type f est supposé avoir plus de chances de réussir que De type c).
L'optimiseur basé sur les coûts est actuellement en cours d'évaluation. Si ce n'est pas le cas
améliorer la performance de trouver, il sera à nouveau supprimé. Inversement,
des optimisations qui s'avèrent fiables, robustes et efficaces peuvent être activées à
des niveaux d'optimisation inférieurs au fil du temps. Cependant, le comportement par défaut (c'est-à-dire
niveau d'optimisation 1) ne sera pas modifié dans la série de versions 4.3.x. le
La suite de tests findutils exécute tous les tests sur trouver à chaque niveau d'optimisation et
garantit que le résultat est le même.

EXPRESSION


La partie de la ligne de commande après la liste des points de départ est le expression. C'est
une sorte de spécification de requête décrivant comment nous faisons correspondre les fichiers et ce que nous faisons avec les fichiers
qui étaient appariés. Une expression est composée d'une suite de choses :

Tests Les tests renvoient une valeur vraie ou fausse, généralement sur la base d'une propriété d'un fichier
nous envisageons. le -vide test par exemple n'est vrai que lorsque le fichier courant
est vide.

Actions
Les actions ont des effets secondaires (comme imprimer quelque chose sur la sortie standard) et
renvoient vrai ou faux, généralement en fonction de leur succès ou non.
La -impression action par exemple imprime le nom du fichier courant sur le standard
sortie.

Options globales
Les options globales affectent le fonctionnement des tests et des actions spécifiés sur n'importe quelle partie de
la ligne de commande. Les options globales renvoient toujours true. le -profondeur possibilité pour
l'exemple fait trouver parcourir le système de fichiers dans le premier ordre de profondeur.

Options de position
Les options positionnelles n'affectent que les tests ou les actions qui les suivent. Positionnel
les options retournent toujours vrai. le -type d'expression régulière l'option par exemple est positionnelle,
spécifier le dialecte de l'expression régulière pour les expressions de régulation apparaissant plus tard
sur la ligne de commande.

Les opérateurs
Les opérateurs réunissent les autres éléments au sein de l'expression. Ils comprennent pour
exemple -o (signifiant OU logique) et -a (ce qui signifie ET logique). Lorsqu'un opérateur est
disparu, -a est assumé.

Si l'expression entière ne contient aucune action autre que -prune or -impression, -impression is
effectuée sur tous les fichiers pour lesquels l'expression entière est vraie.

La -effacer l'action agit aussi comme une option (puisqu'elle implique -profondeur).

POSITIONNEMENT OPTIONS
Les options de position renvoient toujours true. Ils n'affectent que les tests survenant plus tard dans la
ligne de commande.

-journée
Temps de mesure (pour -amine, -à l'heure, -cmin, -cheure, -mminet -Mtime) du
début d'aujourd'hui plutôt qu'il y a 24 heures. Cette option n'affecte que les tests
qui apparaissent plus tard sur la ligne de commande.

-suivre
Obsolète ; Utilisez le -L option à la place. Déréférencement des liens symboliques. Implique
-noleafL’ -suivre L'option n'affecte que les tests qui apparaissent après elle sur le
ligne de commande. À moins que le -H or -L l'option a été spécifiée, la position du
-suivre l'option change le comportement du -plus récent prédicat; tous les fichiers répertoriés comme
l'argument de -plus récent seront déréférencés s'il s'agit de liens symboliques. Le même
considération s'applique à -plus récentXY, -un nouveau, un débutant ainsi que -cnewer. De même, le De type
le prédicat correspondra toujours au type de fichier qu'un lien symbolique
pointe vers plutôt que le lien lui-même. Utilisant -suivre provoque la -lnom ainsi que -ilname
les prédicats retournent toujours false.

-type d'expression régulière type
Modifie la syntaxe de l'expression régulière comprise par -expression régulière ainsi que -iregex des tests qui
se produire plus tard sur la ligne de commande. Pour voir quels types d'expressions régulières sont connus,
utilisé -type d'expression régulière aider. La documentation Texinfo (voir VOIR AUSSI) explique le sens
et les différences entre les différents types d'expressions régulières.

-avertir, -maintenant
Activer ou désactiver les messages d'avertissement. Ces avertissements s'appliquent uniquement à la ligne de commande
l'utilisation, pas à des conditions qui trouver peut rencontrer lors de la recherche
répertoires. Le comportement par défaut correspond à -avertir si l'entrée standard est un
tty, et à -maintenant autrement. Si un message d'avertissement relatif à l'utilisation de la ligne de commande
est produit, l'état de sortie de trouver n'est pas affecté. Si le POSIXLY_CORRECT
la variable d'environnement est définie, et -avertir is aussi utilisé, it is ne sauraient spécifié laquelle, if
tout, avertissements sera be actif.

GLOBAL OPTIONS
Les options globales renvoient toujours true. Les options globales prennent effet même pour les tests qui se produisent
plus tôt sur la ligne de commande. Pour éviter toute confusion, les options globales doivent être spécifiées sur le
ligne de commande après la liste des points de départ, juste avant le premier test, option positionnelle
ou d'action. Si vous spécifiez une option globale à un autre endroit, trouver émettra un avertissement
message expliquant que cela peut prêter à confusion.

Les options globales apparaissent après la liste des points de départ et ne sont donc pas du même type
option comme -L, Par exemple.

-d Un synonyme de -depth, pour la compatibilité avec FreeBSD, NetBSD, MacOS X et OpenBSD.

-depth Traiter le contenu de chaque répertoire avant le répertoire lui-même. L'action -supprimer
implique également -profondeur.

-à l'aide
Imprimer un résumé de l'utilisation de la ligne de commande de trouver et sortie.

-ignore_readdir_race
Normalement, trouver émettra un message d'erreur lorsqu'il ne parvient pas à établir un fichier. Si vous
donnez cette option et un fichier est supprimé entre le moment trouver lit le nom du
fichier du répertoire et l'heure à laquelle il essaie de déclarer le fichier, pas de message d'erreur
seront émis. Ceci s'applique également aux fichiers ou répertoires dont les noms sont donnés
sur la ligne de commande. Cette option prend effet au moment où la ligne de commande est
read, ce qui signifie que vous ne pouvez pas rechercher une partie du système de fichiers avec ce
option activée et une partie de celle-ci avec cette option désactivée (si vous devez le faire, vous
besoin d'émettre deux trouver commandes à la place, une avec l'option et une sans).

-profondeur max niveaux
Descendre au maximum niveaux (un entier non négatif) niveaux de répertoires inférieurs au
points de départ. -profondeur max 0
signifie appliquer les tests et les actions uniquement aux points de départ eux-mêmes.

-minprofondeur niveaux
N'appliquez aucun test ou action à des niveaux inférieurs à niveaux (un non négatif
entier). -minprofondeur 1 signifie traiter tous les fichiers à l'exception des points de départ.

-mount Ne descend pas les répertoires sur d'autres systèmes de fichiers. Un autre nom pour -xdev, Pour
compatibilité avec d'autres versions de trouver.

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

-noleaf
N'optimisez pas en supposant que les répertoires contiennent 2 sous-répertoires de moins que
leur nombre de liens durs. Cette option est nécessaire lors de la recherche de systèmes de fichiers qui ne
ne pas suivre la convention de lien de répertoire Unix, comme les systèmes de fichiers CD-ROM ou MS-DOS
ou des points de montage de volume AFS. Chaque répertoire sur un système de fichiers Unix normal a au
au moins 2 liens physiques : son nom et son `.' entrée. De plus, ses sous-répertoires
(le cas échéant) ont chacun une entrée « .. » liée à ce répertoire. Lorsque trouver examine un
répertoire, après avoir déclaré 2 sous-répertoires de moins que le lien du répertoire
count, il sait que le reste des entrées du répertoire ne sont pas des répertoires
(fichiers `leaf' dans l'arborescence). Si seuls les noms des fichiers doivent être
examinés, il n'est pas nécessaire de les énoncer ; cela donne une augmentation significative de
vitesse de recherche.

-version, --version
Imprimez les trouver numéro de version et quitter.

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

ESSAIS
Certains tests, par exemple -plus récentXY ainsi que -même fichier, permet la comparaison entre le fichier
en cours d'examen et un fichier de référence spécifié sur la ligne de commande. Lorsque
ces tests sont utilisés, l'interprétation du fichier de référence est déterminée par le
Options -H, -L ainsi que -P et tout précédent -suivre, mais le dossier de référence n'est examiné que
une fois, au moment où la ligne de commande est analysée. Si le dossier de référence ne peut être examiné
(par exemple, le état(2) l'appel système échoue), un message d'erreur est émis, et trouver
sort avec un statut différent de zéro.

Les arguments numériques peuvent être spécifiés comme

+n pour plus de n,

-n pour moins de n,

n pour exactement n.

-amine n
Le fichier a été consulté pour la dernière fois n il y a quelques minutes.

-un nouveau, un débutant filet
Le fichier a été consulté pour la dernière fois plus récemment que filet a été modifié. Si filet est un symbolique
lien et le -H option ou le -L l'option est en vigueur, le temps d'accès du fichier
il pointe vers est toujours utilisé.

-à l'heure n
Le fichier a été consulté pour la dernière fois n*Il y a 24 heures. Quand trouver des chiffres combien de 24 heures
il y a des périodes où le fichier a été accédé pour la dernière fois, toute partie fractionnaire est ignorée, donc pour correspondre
-à l'heure +1, un fichier doit avoir été consulté au moins deux il y a quelques jours.

-cmin n
L'état du fichier a été modifié pour la dernière fois n il y a quelques minutes.

-cnewer filet
L'état du fichier a été modifié plus récemment que filet a été modifié. Si filet est une
lien symbolique et le -H option ou le -L l'option est en vigueur, le changement de statut
l'heure du fichier vers lequel il pointe est toujours utilisée.

-cheure n
L'état du fichier a été modifié pour la dernière fois n*Il y a 24 heures. Voir les commentaires pour -à l'heure à
comprendre comment l'arrondi affecte l'interprétation des temps de changement d'état des fichiers.

-empty Le fichier est vide et est soit un fichier normal, soit un répertoire.

-exécutable
Correspond aux fichiers exécutables et aux répertoires consultables (dans un fichier
sens de la résolution de nom). Cela prend en compte les listes de contrôle d'accès et d'autres
les artefacts d'autorisations que le -permanente le test ignore. Ce test utilise le
accès(2) appel système, et peut donc être trompé par les serveurs NFS qui font le mappage UID (ou
root-squashing), puisque de nombreux systèmes implémentent accès(2) dans le noyau du client et
ne peut donc pas utiliser les informations de mappage UID détenues sur le serveur. Car ce
le test est basé uniquement sur le résultat de la accès(2) appel système, il n'y a pas
garantir qu'un fichier pour lequel ce test réussit peut effectivement être exécuté.

-false Toujours faux.

-typefs type
Le fichier est sur un système de fichiers de type type. Les types de système de fichiers valides varient selon
différentes versions d'Unix ; une liste incomplète des types de systèmes de fichiers qui sont
accepté sur une version d'Unix ou une autre est : ufs, 4.2, 4.3, nfs, tmp, mfs, S51K,
S52K. Vous pouvez utiliser -printf avec la directive %F pour voir les types de votre
systèmes de fichiers.

-gid n L'ID de groupe numérique du fichier est n.

-groupe gname
Le fichier appartient au groupe gname (ID de groupe numérique autorisé).

-ilname modèle
Comme -lnom, mais la correspondance est insensible à la casse. Si la -L option ou le -suivre
est en vigueur, ce test renvoie false à moins que le lien symbolique ne soit rompu.

-mon nom modèle
Comme -patate douce, mais la correspondance est insensible à la casse. Par exemple, les motifs 'fo*' et
'F ??' correspondre aux noms de fichiers `Foo', `FOO', `foo', `fOo', etc. Le modèle `*foo*`
correspondra également à un fichier appelé '.foobar'.

avoir bu n
Le fichier a un numéro d'inode n. Il est normalement plus facile d'utiliser le -même fichier tester à la place.

-ipath modèle
Comme -chemin. mais la correspondance est insensible à la casse.

-iregex modèle
Comme -expression régulière, mais la correspondance est insensible à la casse.

-inom complet modèle
Voir -ipath. Cette alternative est moins portable que -ipath.

-liens n
Le fichier a n des liens.

-lnom modèle
Le fichier est un lien symbolique dont le contenu correspond au modèle de shell modèleL’
les métacaractères ne traitent pas `/' ou `.' spécialement. Si la -L option ou le -suivre
est en vigueur, ce test renvoie false à moins que le lien symbolique ne soit rompu.

-mmin n
Les données du fichier ont été modifiées pour la dernière fois n il y a quelques minutes.

-Mtime n
Les données du fichier ont été modifiées pour la dernière fois n*Il y a 24 heures. Voir les commentaires pour -à l'heure à
comprendre comment l'arrondi affecte l'interprétation des heures de modification des fichiers.

-patate douce modèle
La base du nom de fichier (le chemin avec les principaux répertoires supprimés) correspond au shell
modèle modèle. Étant donné que les répertoires principaux sont supprimés, les noms de fichiers
considéré pour un match avec -patate douce n'inclura jamais de barre oblique, donc `-name a/b'
ne correspond jamais à rien (vous devez probablement utiliser -chemin plutôt). Un avertissement est émis
si vous essayez de le faire, à moins que la variable d'environnement POSIXLY_CORRECT ne soit définie. le
les métacaractères (`*', `?' et `[]') correspondent à un `.' au début du nom de base (ce
est un changement dans findutils-4.2.2 ; voir section CONFORMITÉ AUX NORMES ci-dessous). À
ignorer un répertoire et les fichiers qu'il contient, utilisez -prune; voir un exemple dans le
description de -chemin. Les appareils orthodontiques ne sont pas reconnus comme étant spéciaux, malgré le fait
que certains shells, y compris Bash, confèrent aux accolades une signification particulière en shell
motifs. La correspondance des noms de fichiers est effectuée à l'aide de la fnmatch(3)
fonction de bibliothèque. N'oubliez pas de mettre le motif entre guillemets afin de
le protéger de l'expansion par la coque.

-plus récent filet
Le fichier a été modifié plus récemment que filet. Si filet est un lien symbolique et le -H
option ou le -L l'option est en vigueur, l'heure de modification du fichier qu'elle pointe
to est toujours utilisé.

-plus récentXY référence
Réussi si horodatage X du fichier considéré est plus récent que l'horodatage Y of
le fichier référence. Les lettres X ainsi que Y peut être l'une des lettres suivantes :

a Le temps d'accès au fichier référence
B L'heure de naissance du fichier référence
c L'heure de changement d'état de l'inode de référence

m L'heure de modification du fichier référence
t référence est interprété directement comme un temps

Certaines combinaisons ne sont pas valides ; par exemple, il est invalide pour X être t. Certains
les combinaisons ne sont pas implémentées sur tous les systèmes ; par example B n'est pas pris en charge sur
tous les systèmes. Si une combinaison invalide ou non prise en charge de XY est spécifié, un fatal
résultats d'erreur. Les spécifications de temps sont interprétées comme pour l'argument de la -d
option de GNU données. Si vous essayez d'utiliser l'heure de naissance d'un fichier de référence et que le
l'heure de naissance ne peut pas être déterminée, un message d'erreur fatale en résulte. Si vous spécifiez un
test qui fait référence à l'heure de naissance des fichiers en cours d'examen, ce test échouera
pour tous les fichiers dont l'heure de naissance est inconnue.

-pas de groupe
Aucun groupe ne correspond à l'ID de groupe numérique du fichier.

-nouser
Aucun utilisateur ne correspond à l'ID utilisateur numérique du fichier.

-chemin modèle
Le nom du fichier correspond au modèle du shell modèle. Les métacaractères ne traitent pas `/' ou
`.' spécialement; ainsi, par exemple,
trouver . -chemin "./sr*sc"
affichera une entrée pour un répertoire appelé `./src/misc' (s'il existe). Ignorer
toute une arborescence de répertoires, utilisez -prune plutôt que de vérifier chaque fichier de l'arborescence.
Par exemple, pour ignorer le répertoire `src/emacs' et tous les fichiers et répertoires sous
et imprimez les noms des autres fichiers trouvés, faites quelque chose comme ceci :
trouver . -path ./src/emacs -prune -o -print
Notez que le test de correspondance de modèle s'applique à l'ensemble du nom de fichier, à partir d'un
des points de départ nommés sur la ligne de commande. Il serait logique d'utiliser un
nom de chemin absolu ici si le point de départ pertinent est également un chemin absolu. Cette
signifie que cette commande ne correspondra jamais à rien :
find bar -path /foo/bar/monfichier -print
Trouver compare le -chemin argument avec la concaténation d'un nom de répertoire et le
nom de base du fichier qu'il examine. Puisque la concaténation ne finira jamais avec
une barre oblique, -chemin les arguments se terminant par une barre oblique ne correspondront à rien (sauf peut-être un
point de départ spécifié sur la ligne de commande). Le prédicat -chemin est également pris en charge
par HP-UX trouver et sera dans une prochaine version de la norme POSIX.

-permanente mode
Les bits d'autorisation du fichier sont exactement mode (octal ou symbolique). Depuis une correspondance exacte
est obligatoire, si vous souhaitez utiliser ce formulaire pour les modes symboliques, vous devrez peut-être
spécifiez une chaîne de mode plutôt complexe. Par exemple, `-perm g=w' ne correspondra qu'à
les fichiers qui ont le mode 0020 (c'est-à-dire ceux pour lesquels l'autorisation d'écriture de groupe est la
seul ensemble d'autorisations). Il est plus probable que vous souhaitiez utiliser le `/' ou `-'
formulaires, par exemple `-perm -g=w', qui correspond à n'importe quel fichier avec l'écriture de groupe
autorisation. Voir le EXEMPLES section pour quelques exemples illustratifs.

-permanent -mode
Tous les bits d'autorisation mode sont définis pour le fichier. Les modes symboliques sont acceptés
sous cette forme, et c'est généralement la manière dont vous voudriez les utiliser. Vous
doit spécifier 'u', 'g' ou 'o' si vous utilisez un mode symbolique. Voir le EXEMPLES
pour quelques exemples illustratifs.

-permanente /mode
N'importe lequel des bits d'autorisation mode sont définis pour le fichier. Les modes symboliques sont acceptés
sous cette forme. Vous devez spécifier `u', `g' ou `o' si vous utilisez un mode symbolique. Voir
le EXEMPLES section pour quelques exemples illustratifs. Si aucun bit d'autorisation dans mode
sont définis, ce test correspond à n'importe quel fichier (l'idée ici est d'être cohérent avec le
comportement de -permanente - 000).

-permanente +mode
Ceci n'est plus pris en charge (et est obsolète depuis 2005). Utiliser -permanente /mode
à la place.

-lisible
Correspond aux fichiers qui sont lisibles. Cela prend en compte les listes de contrôle d'accès et
d'autres artefacts d'autorisation que le -permanente le test ignore. Ce test utilise
le accès(2) appel système, et peut donc être trompé par les serveurs NFS qui font le mappage UID
(ou root-squashing), puisque de nombreux systèmes implémentent accès(2) dans le noyau du client
et ne peut donc pas utiliser les informations de mappage UID détenues sur le serveur.

-expression régulière modèle
Le nom du fichier correspond à l'expression régulière modèle. C'est un match sur tout le chemin,
pas une recherche. Par exemple, pour faire correspondre un fichier nommé « ./fubar3 », vous pouvez utiliser le
expression régulière '.*bar.' ou '.*b.*3', mais pas 'f.*r3'. Les expressions régulières
compris par trouver sont par défaut des expressions régulières Emacs, mais cela peut être
changé avec le -type d'expression régulière option.

-même fichier prénom
Le fichier fait référence au même inode que prénom. Quand -L est en vigueur, cela peut inclure
liens symboliques.

-Taille n[cwbkMG]
Utilisations de fichiers n unités d'espace, en arrondissant. Les suffixes suivants peuvent être utilisés :

`b' pour les blocs de 512 octets (c'est la valeur par défaut si aucun suffixe n'est utilisé)

'c' pour les octets

'w' pour les mots de deux octets

« k » pour les kilo-octets (unités de 1024 octets)

'M' pour mégaoctets (unités de 1048576 octets)

« G » pour les gigaoctets (unités de 1073741824 octets)

La taille ne compte pas les blocs indirects, mais compte les blocs dans les fichiers clairsemés
qui ne sont pas réellement alloués. Gardez à l'esprit que les formats `%k' et `%b'
les spécificateurs de -printf gérer les fichiers fragmentés différemment. Le suffixe « b » toujours
désigne des blocs de 512 octets et jamais des blocs de 1 kilo-octet, ce qui est différent du
comportement de -ls.

Les préfixes + et - signifient supérieur et inférieur à, comme d'habitude. Garder à l'esprit
que la taille est arrondie à l'unité supérieure. Donc -Taille -1M n'est pas équivalent
à -Taille -1048576c. Le premier correspond uniquement aux fichiers vides, le second correspond aux fichiers
de 1 à 1,048,575 XNUMX XNUMX octets.

-true Toujours vrai.

De type c
Le fichier est de type c:

b bloc (tamponné) spécial

caractère c (sans tampon) spécial

d répertoire

p tube nommé (FIFO)

f fichier régulier

l lien symbolique ; ce n'est jamais vrai si le -L option ou le -suivre option est
en effet, à moins que le lien symbolique ne soit rompu. Si vous voulez rechercher
liens symboliques lorsque -L est en vigueur, utilisez -xtype.

prise s

Porte D (Solaris)

-uid n L'ID utilisateur numérique du fichier est n.

-utilisé n
Le fichier a été consulté pour la dernière fois n jours après la dernière modification de son statut.

-utilisateur ton nom
Le fichier appartient à l'utilisateur ton nom (ID utilisateur numérique autorisé).

-Nom complet modèle
Voir -chemin. Cette alternative est moins portable que -chemin.

-inscriptible
Correspond aux fichiers accessibles en écriture. Cela prend en compte les listes de contrôle d'accès et
d'autres artefacts d'autorisation que le -permanente le test ignore. Ce test utilise
le accès(2) appel système, et peut donc être trompé par les serveurs NFS qui font le mappage UID
(ou root-squashing), puisque de nombreux systèmes implémentent accès(2) dans le noyau du client
et ne peut donc pas utiliser les informations de mappage UID détenues sur le serveur.

-xtype c
Le même que De type sauf si le fichier est un lien symbolique. Pour les liens symboliques : si le
-H or -P l'option a été spécifiée, true si le fichier est un lien vers un fichier de type c; si
le -L option a été donnée, vrai si c est "je". En d'autres termes, pour la symbolique
liens, -xtype vérifie le type de fichier qui De type ne vérifie pas.

-le contexte modèle
(SELinux uniquement) Le contexte de sécurité du fichier correspond à glob modèle.

ACTIONS
-effacer
Supprimer les fichiers; true si la suppression a réussi. Si la suppression a échoué, un message d'erreur
est délivré. Si -effacer échoue, trouverle statut de sortie de sera différent de zéro (quand il
finit par sortir). Utilisation de -effacer active automatiquement le `-profondeur'option.

Avertissements: N'oubliez pas que la ligne de commande find est évaluée comme une expression, donc
mettre -effacer fera d'abord trouver essayez de supprimer tout en dessous du début
points que vous avez spécifiés. Lors du test d'un trouver ligne de commande que vous avez l'intention de faire plus tard
être utiliser avec -effacer, vous devez spécifier explicitement -profondeur afin d'éviter plus tard
surprend. Parce que -effacer implique -profondeur, vous ne pouvez pas utiliser utilement -prune ainsi que
-effacer ensemble.

Exec- commander ;
Exécution commander; true si l'état 0 est renvoyé. Tous les arguments suivants à trouver
considérés comme des arguments de la commande jusqu'à ce qu'un argument composé de `;' est
rencontré. La chaîne `{}' est remplacée par le nom du fichier en cours de traitement
partout où il apparaît dans les arguments de la commande, pas seulement dans les arguments où
il est seul, comme dans certaines versions de trouver. Ces deux constructions peuvent nécessiter
être échappés (avec un `\') ou entre guillemets pour les protéger de l'expansion par le shell.
Voir le EXEMPLES section pour des exemples d'utilisation de la Exec- option. La
la commande spécifiée est exécutée une fois pour chaque fichier correspondant. La commande est exécutée dans
le répertoire de départ. Il existe des problèmes de sécurité inévitables liés à l'utilisation
des Exec- action; vous devriez utiliser le -execdir choix à la place.

Exec- commander {} +
Cette variante du Exec- l'action exécute la commande spécifiée sur les fichiers sélectionnés,
mais la ligne de commande est construite en ajoutant chaque nom de fichier sélectionné à la fin ; la
le nombre total d'appels de la commande sera bien inférieur au nombre de
fichiers correspondants. La ligne de commande est construite de la même manière que xarg construit
ses lignes de commande. Une seule instance de `{}' est autorisée dans la commande. le
La commande est exécutée dans le répertoire de démarrage. Si trouver rencontre une erreur, cette
peut parfois provoquer une sortie immédiate, donc certaines commandes en attente peuvent ne pas être exécutées à
tout. Cette variante de Exec- renvoie toujours vrai.

-execdir commander ;

-execdir commander {} +
Comme Exec-, mais la commande spécifiée est exécutée à partir du sous-répertoire contenant le
fichier correspondant, qui n'est normalement pas le répertoire dans lequel vous avez commencé trouver. Ce
une méthode beaucoup plus sûre pour invoquer des commandes, car elle évite les conditions de concurrence
lors de la résolution des chemins vers les fichiers correspondants. Comme avec le Exec- action, le
'+' forme de -execdir construira une ligne de commande pour traiter plus d'une correspondance
fichier, mais toute invocation donnée de commander ne listera que les fichiers qui existent dans le
même sous-répertoire. Si vous utilisez cette option, vous devez vous assurer que votre $ CHEMIN
la variable d'environnement ne fait pas référence à `.'; sinon, un attaquant peut exécuter n'importe quel
commandes qu'ils aiment en laissant un fichier nommé de manière appropriée dans un répertoire dans lequel
tu vas courir -execdir. Il en va de même pour avoir des entrées dans $ CHEMIN qui sont vides
ou qui ne sont pas des noms de répertoire absolus. Si trouver rencontre une erreur, cela peut
provoquent parfois une sortie immédiate, de sorte que certaines commandes en attente peuvent ne pas être exécutées du tout.
Le résultat de l'action dépend du fait que le + au sein de l’ ; la variante est utilisée ;
-execdir commander {} + renvoie toujours vrai, tandis que -execdir commander {} ; renvoie vrai
seulement si commander renvoie 0.

-fls filet
Vrai; Comme -ls mais écris à filet comme -fimprimer. Le fichier de sortie est toujours créé,
même si le prédicat n'est jamais apparié. Voir le INHABITUEL NOMS DE FICHIER section pour
informations sur la façon dont les caractères inhabituels dans les noms de fichiers sont traités.

-fimprimer filet
Vrai; imprimer le nom complet du fichier dans le fichier filet. Si filet n'existe pas quand trouver is
exécuter, il est créé ; s'il existe, il est tronqué. Les noms de fichiers
`/dev/stdout' et `/dev/stder' sont traités spécialement ; ils se réfèrent à la norme
sortie et sortie d'erreur standard, respectivement. Le fichier de sortie est toujours créé,
même si le prédicat n'est jamais apparié. Voir le INHABITUEL NOMS DE FICHIER section pour
informations sur la façon dont les caractères inhabituels dans les noms de fichiers sont traités.

-fprint0 filet
Vrai; Comme -imprimer0 mais écris à filet comme -fimprimer. Le fichier de sortie est toujours
créé, même si le prédicat n'est jamais mis en correspondance. Voir le INHABITUEL NOMS DE FICHIER
pour plus d'informations sur la gestion des caractères inhabituels dans les noms de fichiers.

-fprintf filet le format
Vrai; Comme -printf mais écris à filet comme -fimprimer. Le fichier de sortie est toujours
créé, même si le prédicat n'est jamais mis en correspondance. Voir le INHABITUEL NOMS DE FICHIER
pour plus d'informations sur la gestion des caractères inhabituels dans les noms de fichiers.

-ls Vrai ; liste le fichier actuel dans ls -dils format sur la sortie standard. Le bloc compte
sont de 1K blocs, sauf si la variable d'environnement POSIXLY_CORRECT est définie, dans laquelle
case Des blocs de 512 octets sont utilisés. Voir le INHABITUEL NOMS DE FICHIER rubrique pour information
sur la façon dont les caractères inhabituels dans les noms de fichiers sont traités.

-d'accord commander ;
Comme Exec- mais demandez d'abord à l'utilisateur. Si l'utilisateur est d'accord, exécutez la commande. Autrement
retourne juste faux. Si la commande est exécutée, son entrée standard est redirigée depuis
/ dev / null.

La réponse à l'invite est comparée à une paire d'expressions régulières pour
déterminer s'il s'agit d'une réponse affirmative ou négative. Cette expression régulière est
obtenu du système si la variable d'environnement `POSIXLY_CORRECT' est définie, ou
sinon de trouvertraductions des messages de . Si le système n'a pas de
définition, trouversa propre définition sera utilisée. Dans les deux cas, le
l'interprétation de l'expression régulière elle-même sera affectée par l'environnement
variables 'LC_CTYPE' (classes de caractères) et 'LC_COLLATE' (plages de caractères et
classes d'équivalence).

-okdir commander ;
Comme -execdir mais demandez d'abord à l'utilisateur de la même manière que pour -d'accord. Si l'utilisateur fait
pas d'accord, retourne juste false. Si la commande est exécutée, son entrée standard est
redirigé de / dev / null.

-imprimer Vrai ; imprime le nom complet du fichier sur la sortie standard, suivi d'une nouvelle ligne. Si
vous dirigez la sortie de trouver dans un autre programme et il y a le plus faible
possibilité que les fichiers que vous recherchez contiennent un saut de ligne,
alors vous devriez sérieusement envisager d'utiliser le -imprimer0 option au lieu de -impression. Voir
le INHABITUEL NOMS DE FICHIER section pour plus d'informations sur la façon dont les caractères inhabituels dans
les noms de fichiers sont gérés.

-imprimer0
Vrai; imprimer le nom complet du fichier sur la sortie standard, suivi d'un caractère nul
(au lieu du caractère de nouvelle ligne qui -impression les usages). Cela permet des noms de fichiers qui
contenir des sauts de ligne ou d'autres types d'espaces blancs à interpréter correctement par
programmes qui traitent les trouver sortir. Cette option correspond à la -0 option de
xarg.

-printf le format
Vrai; imprimer le format sur la sortie standard, interprétant les échappements `\' et `%'
directives. Les largeurs et précisions des champs peuvent être spécifiées comme avec le `printf' C
une fonction. Veuillez noter que de nombreux champs sont imprimés sous la forme %s plutôt que %d,
et cela peut signifier que les drapeaux ne fonctionnent pas comme vous pourriez vous y attendre. Cela signifie également que
le drapeau « - » fonctionne (il force les champs à être alignés à gauche). contrairement à -impression,
-printf n'ajoute pas de nouvelle ligne à la fin de la chaîne. Les évasions et
les directives sont :

\a Sonnette d'alarme.

\b Retour arrière.

\c Arrêtez immédiatement l'impression à partir de ce format et videz la sortie.

\f Saut de page.

\n Nouvelle ligne.

\r Retour chariot.

\t Onglet horizontal.

\v Onglet vertical.

\0 ASCII NUL.

\\ Une barre oblique inverse (`\').

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

Un caractère `\' suivi de tout autre caractère est traité comme un caractère ordinaire
caractère, donc ils sont tous les deux imprimés.

%% Un signe de pourcentage littéral.

%a Heure du dernier accès au fichier au format renvoyé par la fonction C `ctime'.

%Ak Heure du dernier accès au fichier au format spécifié par k, qui est soit `@' soit
une directive pour la fonction C `strftime'. Les valeurs possibles pour k
énumérés ci-dessous; certains d'entre eux peuvent ne pas être disponibles sur tous les systèmes, en raison de
différences de `strftime' entre les systèmes.

@ secondes depuis le 1er janvier 1970, 00:00 GMT, avec partie fractionnaire.

Champs de temps :

Heure H (00..23)

I heure (01..12)

k heure ( 0..23)

l heure (1..12)

M minutes (00..59)

p AM ou PM locale

r heure, 12 heures (hh:mm:ss [AP]M)

S Seconde (00.00 .. 61.00). Il y a une partie fractionnaire.

Heure T, 24 heures (hh:mm:ss.)

+ Date et heure, séparées par '+', par exemple '2004-04-28+22:22:05.0'.
Il s'agit d'une extension GNU. L'heure est indiquée dans le fuseau horaire actuel
(qui peut être affecté par la définition de la variable d'environnement TZ). le
Le champ des secondes comprend une partie fractionnaire.

Représentation temporelle de la locale X (H:M:S). Le champ des secondes comprend un
partie fractionnaire.

Fuseau horaire Z (par exemple, EDT), ou rien si aucun fuseau horaire n'est déterminable

Champs de date :

le nom abrégé du jour de la semaine d'un paramètre régional (dim..sam)

Nom complet du jour de la semaine d'un paramètre régional, longueur variable (dimanche..samedi)

b nom du mois abrégé de la locale (jan..déc)

Nom du mois complet de la locale B, longueur variable (janvier..décembre)

c la date et l'heure des paramètres régionaux (samedi 04 novembre 12:02:33 EST 1989). Le format est
le même que pour temps(3) et ainsi préserver la compatibilité avec celle
format, il n'y a pas de partie fractionnaire dans le champ des secondes.

j jour du mois (01..31)

J date (mm/jj/aa)

h comme b

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

m mois (01..12)

U numéro de semaine de l'année avec dimanche comme premier jour de la semaine (00..53)

w jour de la semaine (0..6)

W numéro de semaine de l'année avec lundi comme premier jour de la semaine (00..53)

x représentation de la date des paramètres régionaux (mm/jj/aa)

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

Année Y (1970...)

%b La quantité d'espace disque utilisé pour ce fichier en blocs de 512 octets. Depuis le disque
l'espace est alloué en multiples de la taille de bloc du système de fichiers, c'est généralement
supérieur à %s/512, mais il peut aussi être plus petit si le fichier est clairsemé
fichier.

%c Heure du dernier changement d'état du fichier au format renvoyé par le C `ctime'
la fonction.

%Ck Heure du dernier changement d'état du fichier au format spécifié par k, qui est le
comme pour %A.

%d Profondeur du fichier dans l'arborescence des répertoires ; 0 signifie que le fichier est un point de départ.

%D Le numéro de périphérique sur lequel le fichier existe (le champ st_dev de struct
stat), en décimal.

%f Nom du fichier avec tous les répertoires principaux supprimés (seulement le dernier élément).

%F Type du système de fichiers sur lequel se trouve le fichier ; cette valeur peut être utilisée pour -fstype.

%g Nom de groupe du fichier ou ID de groupe numérique si le groupe n'a pas de nom.

ID de groupe numérique du fichier %G.

%h Répertoires principaux du nom du fichier (tous sauf le dernier élément). Si le fichier
le nom ne contient pas de slash (puisqu'il se trouve dans le répertoire courant) le %h
le spécificateur se développe en ".".

%H Point de départ sous lequel le fichier a été trouvé.

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

%k La quantité d'espace disque utilisé pour ce fichier en blocs de 1K. Étant donné que l'espace disque
est alloué en multiples de la taille de bloc du système de fichiers, c'est généralement
supérieur à %s/1024, mais il peut aussi être plus petit si le fichier est clairsemé
fichier.

%l Objet du lien symbolique (chaîne vide si le fichier n'est pas un lien symbolique).

%m Bits d'autorisation du fichier (en octal). Cette option utilise le "traditionnel"
nombres que la plupart des implémentations Unix utilisent, mais si votre
l'implémentation utilise un ordre inhabituel de bits d'autorisations octales, vous
voir une différence entre la valeur réelle du mode du fichier et la sortie
de %m. Normalement, vous voudrez avoir un zéro non significatif sur ce nombre, et
pour ce faire, vous devez utiliser le # flag (comme dans, par exemple, `%#m').

Les permissions du fichier %M (sous forme symbolique, comme pour ls). Cette directive est
pris en charge dans findutils 4.2.5 et versions ultérieures.

%n Nombre de liens physiques vers le fichier.

%p Nom du fichier.

%P Nom du fichier avec le nom du point de départ sous lequel il a été trouvé
enlevé.

%s Taille du fichier en octets.

La rareté du fichier %S. Ceci est calculé comme (BLOCKSIZE*st_blocks / st_size).
La valeur exacte que vous obtiendrez pour un fichier ordinaire d'une certaine longueur est
dépendant du système. Cependant, normalement, les fichiers clairsemés auront des valeurs inférieures à
1.0, et les fichiers qui utilisent des blocs indirects peuvent avoir une valeur supérieure
que 1.0. La valeur utilisée pour BLOCKSIZE dépend du système, mais est généralement
512 octets. Si la taille du fichier est zéro, la valeur imprimée est indéfinie. Au
systèmes qui ne prennent pas en charge st_blocks, la rareté d'un fichier est supposée
être 1.0.

%t Heure de la dernière modification du fichier au format renvoyé par le C `ctime'
la fonction.

%Tk Heure de la dernière modification du fichier au format spécifié par k, qui est le
comme pour %A.

%u Nom d'utilisateur du fichier ou ID d'utilisateur numérique si l'utilisateur n'a pas de nom.

ID utilisateur numérique du fichier %U.

%y Type de fichier (comme dans ls -l), U=type inconnu (ne devrait pas arriver)

%Y Type de fichier (comme %y), plus les liens symboliques suivants : L=boucle, N=inexistant

Contexte de sécurité du fichier %Z (SELinux uniquement).

%{ %[ %(
Réservé pour une utilisation future.

Un caractère « % » suivi de tout autre caractère est ignoré, mais l'autre
caractère est imprimé (ne vous fiez pas à cela, car d'autres caractères de format peuvent être
introduit). Un `%' à la fin de l'argument de format provoque un comportement indéfini
car il n'y a pas de caractère suivant. Dans certains endroits, il peut cacher votre porte
clés, tandis que dans d'autres, il peut supprimer la dernière page du roman que vous lisez.

Les directives %m et %d prennent en charge le # , 0 ainsi que + flags, mais les autres directives ne
pas, même s'ils impriment des nombres. Directives numériques qui ne prennent pas en charge ces
les drapeaux incluent G, U, b, D, k ainsi que n. L'indicateur de format « - » est pris en charge et change
l'alignement d'un champ de la justification à droite (qui est la valeur par défaut) à la gauche-
justifié.

Voir le INHABITUEL NOMS DE FICHIER section pour plus d'informations sur la façon dont les caractères inhabituels dans
les noms de fichiers sont gérés.

-prune True; si le fichier est un répertoire, ne descendez pas dedans. Si -profondeur est donné,
faux; aucun effet. Parce que -effacer implique -profondeur, vous ne pouvez pas utiliser utilement -prune
ainsi que -effacer ensemble.

-quit Quitte immédiatement. Aucun processus enfant ne restera en cours d'exécution, mais plus de chemins
spécifié sur la ligne de commande sera traité. Par example, trouver /tmp/toto
/tmp/barre -impression -quitter imprimera seulement /tmp/toto. Toutes les lignes de commande qui ont été
construit avec -execdir {} + sera invoqué avant trouver sorties. La sortie
l'état peut être zéro ou non, selon qu'une erreur s'est déjà produite.

LES OPÉRATEURS
Par ordre de priorité décroissante :

( expr )
Forcer la priorité. Les parenthèses étant spécifiques au shell, vous devrez normalement
besoin de les citer. De nombreux exemples de cette page de manuel utilisent des barres obliques inverses pour
cet objectif : `\(...\)' au lieu de `(...)'.

! expr Vrai si expr c'est faux. Ce personnage aura aussi généralement besoin d'une protection contre
interprétation par la coquille.

-ne pas expr
Pareil que ! expr, mais non conforme à POSIX.

expression1 expression2
Deux expressions d'affilée sont censées être jointes par un "et" implicite ; expression2 n'est pas
évalué si expression1 c'est faux.

expression1 -a expression2
Pareil que expression1 expression2.

expression1 -et expression2
Pareil que expression1 expression2, mais non conforme à POSIX.

expression1 -o expression2
Ou; expression2 n'est pas évalué si expression1 est vrai.

expression1 Ou expression2
Pareil que expression1 -o expression2, mais non conforme à POSIX.

expression1 , expression2
Lister; les deux expression1 ainsi que expression2 sont toujours évalués. La valeur de expression1 est mis au rebut ;
la valeur de la liste est la valeur de expression2. L'opérateur virgule peut être utile pour
recherche de plusieurs types de choses différents, mais parcourant le système de fichiers
hiérarchie une seule fois. le -fprintf l'action peut être utilisée pour lister les différents
éléments dans plusieurs fichiers de sortie différents.

Gardez à l'esprit que -a lorsqu'il est spécifié implicitement (par exemple par deux tests apparaissant sans
un opérateur explicite entre eux) ou a explicitement une priorité plus élevée que -o. Ce
signifie que trouver . -patate douce un fichier -o -patate douce fichier b -impression n'imprimera jamais un fichier.

INHABITUEL NOMS DE FICHIER


De nombreuses actions de trouver entraîner l'impression de données qui sont sous le contrôle de
autres utilisateurs. Cela inclut les noms de fichiers, les tailles, les heures de modification, etc. Déposer
les noms sont un problème potentiel car ils peuvent contenir n'importe quel caractère sauf `\0' et `/'.
Des caractères inhabituels dans les noms de fichiers peuvent faire des choses inattendues et souvent indésirables à votre
terminal (par exemple, modifier les paramètres de vos touches de fonction sur certains terminaux).
Les caractères inhabituels sont traités différemment par diverses actions, comme décrit ci-dessous.

-print0, -fprint0
Imprimez toujours le nom de fichier exact, inchangé, même si la sortie va vers un
Terminal.

-ls, -fls
Les caractères inhabituels sont toujours échappés. Espace blanc, barre oblique inverse et guillemets doubles
les caractères sont imprimés en utilisant l'échappement de style C (par exemple `\f', `\"'). Autre
les caractères inhabituels sont imprimés à l'aide d'un échappement octal. Autres caractères imprimables
(Pour -ls ainsi que -fls ce sont les caractères entre octal 041 et 0176) sont imprimés
comme si.

-printf, -fprintf
Si la sortie ne va pas à un terminal, elle est imprimée telle quelle. Sinon, le
le résultat dépend de la directive utilisée. Les directives %D, %F, %g, %G, %H,
%Y, et %y s'étendent à des valeurs qui ne sont pas sous le contrôle des propriétaires des fichiers, et ainsi
sont imprimés tels quels. Les directives %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u
et %U ont des valeurs qui sont sous le contrôle des propriétaires des fichiers mais qui ne peuvent pas être
utilisé pour envoyer des données arbitraires au terminal, et donc celles-ci sont imprimées telles quelles. le
les directives %f, %h, %l, %p et %P sont entre guillemets. Cette cotation est effectuée dans le même
comme pour GNU ls. Ce n'est pas le même mécanisme de cotation que celui utilisé pour -ls
ainsi que -fls. Si vous êtes en mesure de décider quel format utiliser pour la sortie de trouver puis
il est normalement préférable d'utiliser `\0' comme terminateur que d'utiliser une nouvelle ligne, comme fichier
les noms peuvent contenir des espaces et des caractères de nouvelle ligne. Le réglage de la
La variable d'environnement 'LC_CTYPE' est utilisée pour déterminer quels caractères doivent être
cité.

-imprimer, -fimprimer
Le devis est traité de la même manière que pour -printf ainsi que -fprintf. Si vous utilisez
trouver dans un script ou dans une situation où les fichiers correspondants peuvent avoir des
noms, vous devriez envisager d'utiliser -imprimer0 au lieu de -impression.

La -d'accord ainsi que -okdir actions impriment le nom de fichier actuel tel quel. Cela peut changer dans le futur
libérer.

NORMES CONFORMITÉ


Pour une conformité plus proche de la norme POSIX, vous devez définir le POSIXLY_CORRECT
variable d'environnement. Les options suivantes sont spécifiées dans la norme POSIX (IEEE Std
1003.1, édition 2003) :

-H Cette option est prise en charge.

-L Cette option est prise en charge.

-patate douce Cette option est prise en charge, mais la conformité POSIX dépend de la conformité POSIX de
le système fnmatch(3) fonction de bibliothèque. Depuis findutils-4.2.2, shell
les métacaractères (`*', `?' ou `[]' par exemple) correspondront à un `.' de début, car
L'interprétation IEEE PASC 126 l'exige. C'est un changement par rapport au précédent
versions de findutils.

De type Prise en charge. POSIX spécifie "b", "c", "d", "l", "p", "f" et "s". GNU trouve aussi
prend en charge « D », représentant une porte, là où le système d'exploitation les fournit.

-d'accord Prise en charge. L'interprétation de la réponse se fait selon le "oui" et le "non"
modèles sélectionnés en définissant la variable d'environnement `LC_MESSAGES'. Quand le
La variable d'environnement `POSIXLY_CORRECT' est définie, ces modèles sont pris en compte par le système
définition d'une réponse positive (oui) ou négative (non). Voir le système
documentation pour nl_langinfo(3), en particulier YESEXPR et NOEXPR. Lorsque
`POSIXLY_CORRECT' n'est pas défini, les modèles sont à la place pris de trouverest propre
catalogue de messages.

-plus récent Prise en charge. Si le fichier spécifié est un lien symbolique, il est toujours déréférencé.
Il s'agit d'un changement par rapport au comportement antérieur, qui prenait le temps nécessaire de
le lien symbolique ; voir la section HISTORIQUE ci-dessous.

-permanente Prise en charge. Si la variable d'environnement POSIXLY_CORRECT n'est pas définie, certains modes
les arguments (par exemple +a+x) qui ne sont pas valides dans POSIX sont pris en charge pour
rétrocompatibilité.

Autres prédicats
Les prédicats -à l'heure, -cheure, -profondeur, -groupe, -liens, -Mtime, -pas de groupe, -nouser,
-impression, -prune, -Taille, -utilisateur ainsi que -xdev `-atime', `-ctime', `-depth', `-group',
"-links", "-mtime", "-nogroup", "-nouser", "-perm", "-print", "-prune", "-size",
`-user' et `-xdev' sont tous pris en charge.

La norme POSIX spécifie les parenthèses '(', ')', la négation '!' et le 'et' et 'ou'
les opérateurs ( -a, -o).

Toutes les autres options, prédicats, expressions, etc. sont des extensions au-delà de POSIX
la norme. Cependant, bon nombre de ces extensions ne sont pas propres à GNU find.

La norme POSIX exige que trouver détecte les boucles :

La trouver le service public doit détecter les boucles infinies ; c'est-à-dire entrer un
répertoire visité qui est un ancêtre du dernier fichier rencontré. Quand cela
détecte une boucle infinie, find doit écrire un message de diagnostic à l'erreur standard
et doit soit reprendre sa place dans la hiérarchie, soit s'arrêter.

GNU trouver respecte ces exigences. Le nombre de liens des répertoires qui contiennent
les entrées qui sont des liens durs vers un ancêtre seront souvent inférieures à ce qu'elles devraient autrement
être. Cela peut signifier que GNU find optimisera parfois la visite d'un
sous-répertoire qui est en fait un lien vers un ancêtre. Puisque trouver n'entre pas réellement
un tel sous-répertoire, il est permis d'éviter d'émettre un message de diagnostic. Bien que cela
comportement peut être quelque peu déroutant, il est peu probable que quelqu'un en dépende réellement
comportement. Si l'optimisation des feuilles a été désactivée avec -noleaf, l'entrée du répertoire
sera toujours examiné et le message de diagnostic sera émis là où il est approprié.
Les liens symboliques ne peuvent pas être utilisés pour créer des cycles de système de fichiers en tant que tels, mais si le -L Option ou
le -suivre est en cours d'utilisation, un message de diagnostic est émis lorsque trouver rencontre une boucle
de liens symboliques. Comme pour les boucles contenant des liens physiques, l'optimisation des feuilles sera souvent
veut dire que trouver sait qu'il n'a pas besoin d'appeler stat () or chdir() sur le lien symbolique,
ce diagnostic n'est donc souvent pas nécessaire.

La -d L'option est prise en charge pour la compatibilité avec divers systèmes BSD, mais vous devez utiliser
l'option compatible POSIX -profondeur à la place.

La variable d'environnement POSIXLY_CORRECT n'affecte pas le comportement du -expression régulière or
-iregex tests car ces tests ne sont pas spécifiés dans la norme POSIX.

ENVIRONNEMENT VARIABLES


LANG Fournit une valeur par défaut pour les variables d'internationalisation non définies ou
zéro.

LC_ALL Si défini sur une valeur de chaîne non vide, remplace les valeurs de tous les autres
variables d'internationalisation.

LC_COLLER
La norme POSIX spécifie que cette variable affecte le pattern matching à
utilisé pour le -patate douce option. GNU find utilise le fnmatch(3) fonction de bibliothèque, et ainsi
la prise en charge de 'LC_COLLATE' dépend de la bibliothèque système. Cette variable aussi
affecte l'interprétation de la réponse à -d'accord; tandis que la variable 'LC_MESSAGES'
sélectionne le modèle réel utilisé pour interpréter la réponse à -d'accord,
l'interprétation de toutes les expressions entre crochets dans le modèle sera affectée par
'LC_COLLATE'.

LC_CTYPE
Cette variable affecte le traitement des classes de caractères utilisées dans les
expressions et aussi avec les -patate douce test, si le système est fnmatch(3) bibliothèque
fonction prend en charge cela. Cette variable affecte également l'interprétation de tout
classes de caractères dans les expressions régulières utilisées pour interpréter la réponse à la
invite émise par -d'accord. La variable d'environnement 'LC_CTYPE' affectera également
les caractères sont considérés comme non imprimables lorsque les noms de fichiers sont imprimés ; voir le
section NOMS DE FICHIERS INHABITUELS.

LC_MESSAGES
Détermine les paramètres régionaux à utiliser pour les messages internationalisés. Si la
La variable d'environnement `POSIXLY_CORRECT' est définie, cela détermine également le
interprétation de la réponse à l'invite faite par le -d'accord l'action.

NLSPATH
Détermine l'emplacement des catalogues de messages d'internationalisation.

PATH Affecte les répertoires qui sont recherchés pour trouver les exécutables invoqués par
Exec-, -execdir, -d'accord ainsi que -okdir.

POSIXLY_CORRECT
Détermine la taille de bloc utilisée par -ls ainsi que -fls. Si POSIXLY_CORRECT est défini, bloque
sont des unités de 512 octets. Sinon, ce sont des unités de 1024 octets.

La définition de cette variable désactive également les messages d'avertissement (c'est-à-dire implique -maintenant) par
par défaut, car POSIX exige qu'en dehors de la sortie pour -d'accord, tous les messages
imprimés sur stderr sont des diagnostics et doivent aboutir à un état de sortie différent de zéro.

Lorsque POSIXLY_CORRECT n'est pas défini, -permanente +zzz est traité comme -permanente /zzz si +zzz
n'est pas un mode symbolique valide. Lorsque POSIXLY_CORRECT est défini, ces constructions sont
traité comme une erreur.

Lorsque POSIXLY_CORRECT est défini, la réponse à l'invite faite par le -d'accord l'action est
interprété selon le catalogue de messages du système, par opposition à selon
trouverpropres traductions de messages.

TZ Affecte le fuseau horaire utilisé pour certaines des directives de format liées à l'heure de
-printf ainsi que -fprintf.

EXEMPLES


trouver / Tmp -patate douce core De type f -impression | xarg /bin/rm -f

Rechercher des fichiers nommés core dans ou en dessous du répertoire / Tmp et supprimez-les. Notez que cela va
fonctionner de manière incorrecte s'il y a des noms de fichiers contenant des sauts de ligne, des guillemets simples ou doubles,
ou des espaces.

trouver / Tmp -patate douce core De type f -imprimer0 | xarg -0 /bin/rm -f

Rechercher des fichiers nommés core dans ou en dessous du répertoire / Tmp et supprimez-les, en traitant les noms de fichiers
de telle sorte que les noms de fichiers ou de répertoires contenant des guillemets simples ou doubles, des espaces ou
les nouvelles lignes sont correctement gérées. le -patate douce le test vient avant le De type tester afin de
éviter d'appeler état(2) sur chaque fichier.

trouver . De type f Exec- filet '{}' \;

Exécute `file' sur chaque fichier dans ou sous le répertoire courant. Notez que les accolades sont
entouré de guillemets simples pour les protéger de l'interprétation en tant que script shell
ponctuation. Le point-virgule est également protégé par l'utilisation d'une barre oblique inverse, bien que
des guillemets simples auraient pu être utilisés dans ce cas également.

trouver / \( -permanente - 4000 -fprintf /root/suid.txt '%#m %u %p\n' \) , \
\( -Taille + 100M -fprintf /racine/big.txt '%-10s %p\n' \)

Parcourez le système de fichiers une seule fois, en répertoriant les fichiers et répertoires setuid dans
/root/suid.txt et de gros fichiers dans /racine/big.txt.

trouver $ ACCUEIL -Mtime 0

Recherchez dans votre répertoire personnel les fichiers qui ont été modifiés au cours des vingt-quatre derniers
les heures. Cette commande fonctionne de cette façon car le temps écoulé depuis la dernière modification de chaque fichier est
divisé par 24 heures et tout reste est rejeté. Cela signifie que pour correspondre -Mtime 0un
le fichier devra avoir une modification dans le passé qui date de moins de 24 heures.

trouver / sbin / usr / sbin -exécutable \! -lisible -impression

Recherchez des fichiers exécutables mais non lisibles.

trouver . -permanente 664

Recherchez les fichiers qui ont une autorisation de lecture et d'écriture pour leur propriétaire et leur groupe, mais
auquel les autres utilisateurs peuvent lire mais pas écrire. Les fichiers qui répondent à ces critères mais qui ont
les autres bits d'autorisation définis (par exemple, si quelqu'un peut exécuter le fichier) ne seront pas
assorti.

trouver . -permanente - 664

Recherchez les fichiers qui ont des autorisations de lecture et d'écriture pour leur propriétaire et leur groupe, et qui
les autres utilisateurs peuvent lire, sans tenir compte de la présence de bits d'autorisation supplémentaires (par
exemple le bit d'exécutable). Cela correspondra à un fichier qui a le mode 0777, par exemple.

trouver . -permanente / 222

Rechercher des fichiers accessibles en écriture à quelqu'un (leur propriétaire, ou leur groupe, ou n'importe qui)
autre).

trouver . -permanente / 220
trouver . -permanente /u+w,g+w
trouver . -permanente /u=w,g=w

Ces trois commandes font la même chose, mais la première utilise l'octal
représentation du mode fichier, et les deux autres utilisent la forme symbolique. Ces commandes
tous recherchent des fichiers accessibles en écriture soit par leur propriétaire, soit par leur groupe. Les fichiers
ne doit pas être accessible en écriture à la fois par le propriétaire et le groupe pour être mis en correspondance ; l'un ou l'autre fera l'affaire.

trouver . -permanente - 220
trouver . -permanente -g+w,u+w

Ces deux commandes font la même chose ; rechercher des fichiers accessibles en écriture à la fois par leur
propriétaire et son groupe.

trouver . -permanente - 444 -permanente / 222 ! -permanente / 111
trouver . -permanente -a+r -permanente /a+w ! -permanente /a+x

Ces deux commandes recherchent toutes deux des fichiers lisibles par tout le monde ( -permanente - 444 or
-permanente -a+r), avoir au moins un bit d'écriture défini ( -permanente / 222 or -permanente /a+w) mais ne sont pas
exécutable pour n'importe qui ( ! -permanente / 111 ainsi que ! -permanente /a+x respectivement).

cd /rép-source
trouver . -patate douce .instantané -prune -o \( \! -patate douce *~ -imprimer0 \)|
cpio -pmd0 /rép-dest

Cette commande copie le contenu de /rép-source à /rép-dest, mais omet les fichiers et
répertoires nommés .instantané (et tout ce qu'ils contiennent). Il omet également des fichiers ou des répertoires
dont le nom se termine par ~, mais pas leur contenu. La construction -prune -o \( -imprimer0 \)
est assez courant. L'idée ici est que l'expression avant -prune correspond à des choses qui
sont à tailler. Cependant, le -prune l'action elle-même retourne vrai, donc ce qui suit -o
garantit que le côté droit est évalué uniquement pour les répertoires qui n'ont pas obtenu
élagué (le contenu des répertoires élagués n'est même pas visité, donc leur contenu est
hors du sujet). L'expression à droite de la -o est entre parenthèses uniquement pour
clarté. Il souligne que le -imprimer0 l'action n'a lieu que pour des choses qui n'ont pas
avons -prune appliqué à eux. Parce que la condition "et" par défaut entre les tests lie plus
étroitement que -o, c'est la valeur par défaut de toute façon, mais les parenthèses aident à montrer ce qui est
passe.

trouver dépôt/ Exec- tester -d {}/.svn \; Ou \
Exec- tester -d {}/.git \; Ou Exec- tester -d {}/CVS \; \
-impression -prune

Compte tenu du répertoire de projets suivant et de leur administration SCM associée
répertoires, effectuez une recherche efficace des racines des projets :

dépôt/projet1/CVS
dépôt/gnu/project2/.svn
dépôt/gnu/project3/.svn
dépôt/gnu/project3/src/.svn
dépôt/projet4/.git

Dans cet exemple, -prune empêche la descente inutile dans des répertoires qui ont déjà
été découvert (par exemple, nous ne cherchons pas project3/src car nous avons déjà trouvé
project3/.svn), mais garantit que les répertoires frères (project2 et project3) sont trouvés.

EXIT STATUT


trouver sort avec l'état 0 si tous les fichiers sont traités avec succès, supérieur à 0 en cas d'erreurs
se produire. Il s'agit délibérément d'une description très large, mais si la valeur de retour n'est pas
zéro, vous ne devez pas vous fier à l'exactitude des résultats de trouver.

Lorsqu'une erreur se produit, trouver peut s'arrêter immédiatement, sans terminer toutes les actions
spécifié. Par exemple, certains points de départ peuvent ne pas avoir été examinés ou certains points en attente
appels de programme pour Exec- {} + or -execdir {} + n'a peut-être pas été exécuté.

Utilisez la recherche en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad