LOCATE(1)

NOM
locate - Lister des fichiers d'une base de données correspondant à un motif

SYNOPSIS
locate [-d chemin | --database=chemin] [-e | -E | --[non-]existing] [-i | --ignore-case] [-0 | --null] [-c | --count] [-w | --wholename] |-b | --basename] [-l N | --limit=N] [-S | --statistics] [-r | --regex ] [--max-database-age D] [-P | -H | --nofollow] [-L | --follow] [--version] [-A | --all] [-p | --print] [--help] motif...

DESCRIPTION
Cette page de manuel documente la version GNU de locate. Pour chaque motif donné, locate recherche dans une ou plusieurs bases de noms de fichiers et affiche les noms de fichiers qui contiennent ce motif. Les motifs peuvent contenir des caractères spéciaux de l'interpréteur de commandes : « * », « ? » et « [] ». Les caractères spéciaux n'interprètent pas « / » et « . ». Par conséquent, un motif « toto*titi » peut correspondre à un nom de fichier contenant « toto3/titi » et un motif « *tata* » peut correspondre à un nom de fichier contenant « tutu/.tata ». Les motifs contenant des caractères spéciaux doivent être protégés par des guillemets pour éviter leur développement par l'interpréteur de commandes.

Si un motif est une chaîne de caractères (sans caractères spéciaux), locate affiche tous les noms de fichiers de la base de données qui contiennent cette chaîne de caractères. Si un motif contient des caractères spéciaux, locate affiche seulement les noms de fichiers qui correspondent exactement au motif. Ainsi, les motifs qui contiennent des caractères spéciaux doivent normalement commencer par « * » et se terminer le plus souvent par ce même caractère spécial. Les exceptions sont les motifs qui cherchent explicitement une correspondance en début ou en fin d'un nom de fichier.

Les bases de noms de fichiers contiennent des listes de fichiers qui étaient sur le système lors de la dernière mise à jour des bases de données. L'administrateur système peut choisir le nom du fichier de la base de noms par défaut, la fréquence des mises à jour des bases de données et les répertoires à référencer ; reportez-vous à updatedb(1).

Si la sortie de locate est dirigée vers un terminal, les caractères inhabituels en sortie sont échappés de la même façon que par l'action -print de la commande find. Si la sortie n'est pas dirigée vers un terminal, les noms de fichier sont imprimés exactement comme ils sont.

OPTIONS

-0, --null
    Utiliser le caractère ASCII NUL comme séparateur au lieu du caractère saut de ligne.

-A, --all
    Afficher seulement les noms de fichiers qui correspondent à tous les motifs de recherche et non ceux qui correspondent à un ou plusieurs motifs de recherche.

-b, --basename
    Les résultats correspondent si le motif indiqué correspond à la partie finale du nom de fichier listé dans la base de noms. La partie finale fait habituellement référence au nom du fichier sans son chemin.

-c, --count
    Au lieu d'afficher les fichiers correspondants, afficher seulement le nombre total de correspondances trouvées, sauf si --print (-p) est aussi présente.

-d chemin, --database=chemin
    Au lieu de chercher dans la base de noms de fichiers par défaut, chercher dans les bases de noms de fichiers de chemin, qui est une liste de bases de noms de fichiers séparés par « : ». Vous pouvez aussi utiliser la variable d'environnement LOCATE_PATH pour définir la liste des bases de données à parcourir. L'option a priorité sur la variable d'environnement si elles sont toutes deux utilisées. Les éléments vides du chemin sont des alias de la base de données par défaut. Une base de données peut être envoyée sur l'entrée standard en utilisant « - » comme élément de chemin. Si chemin contient plus d'un élément « - », les dernières entrées sont ignorées (et un message d'avertissement est affiché).

    Le format de la base de noms de fichiers a changé depuis les versions 4.0 de GNU find et locate pour permettre aux machines qui ordonnent les octets différemment de partager les bases de données. Cette version de locate peut reconnaître et lire des bases de données produites pour les anciennes versions de GNU locate ou pour les versions Unix de locate ou find. La gestion du format des anciennes versions des bases de données de locate sera abandonnée dans une future version.

-e, --existing
    Afficher seulement les noms des fichiers qui existent à cet instant (au lieu des fichiers qui existaient lors de la création de la base de noms). Cela peut fortement ralentir le programme s'il y a un grand nombre de correspondances dans la base de noms. Si vous utilisez cette option dans un programme, il est possible qu'un fichier soit supprimé après que locate a enregistré son existence, mais avant que vous l'utilisiez.

-E, --non-existing
    Afficher seulement les noms des fichiers qui n'existent pas actuellement (au lieu des fichiers qui existaient lors de la création de la base de noms). Cela peut fortement ralentir le programme s'il y a un grand nombre de correspondances dans la base de noms.

--help
    Afficher un résumé des options de locate et quitter.

-i, --ignore-case
    Ignorer les différences entre minuscules et majuscules entre le motif et les noms de fichiers.

-l N, --limit=N
    Limiter le nombre de correspondances à N. Si une limite est fixée avec cette option, le nombre d'entrées affichées avec l'option -c ne sera jamais plus grand que celle-ci.

-L, --follow
    Lors du test d'existence des fichiers (avec les options -e ou -E), considérer les liens symboliques cassés comme des fichiers non existants. Ceci est le comportement par défaut.

--max-database-age D
    locate affichera normalement un message d'avertissement si la base de données dans laquelle il effectue sa recherche a plus de 8 jours. Cette option permet de définir une autre valeur que 8. Définir cette valeur avec un nombre négatif entraîne un comportement indéfini.

-m, --mmap
    Option ne faisant rien, présente pour la compatibilité avec la commande locate des systèmes BSD.

-P, -H, --nofollow
    Lors du test de l'existence des fichiers (avec les options -e ou -E), traiter les liens symboliques cassés comme des fichiers existants. Le paramètre -H de cette option est fourni uniquement par similitude avec find ; l'utilisation de -P est recommandée à la place de -H.

-p, --print
    Afficher les résultats de la recherche quand ils ne devraient pas apparaître à cause de la présence des options --statistics (-S) ou --count (-c).

-r, --regex
    Le motif indiqué sur la ligne de commande est interprété comme une expression rationnelle à l'opposé des motifs développés. Les expressions rationnelles s'utilisent de la même manière que dans emacs et find, excepté le fait que « . » correspondra avec un caractère saut de ligne. Les noms de fichiers dont les chemins absolus correspondent à l'expression rationnelle spécifiée sont affichés (ou comptés si l'option -c est présente). Pour attacher une expression rationnelle au début ou à la fin d'un nom de chemin absolu vous devez utiliser respectivement les caractères « ^ » et « $ » dans celle-ci (ce qui est la méthode courante pour réaliser cela avec des expressions rationnelles).

-s, --stdio
    Option ne faisant rien, présente pour la compatibilité avec la commande locate des systèmes BSD.

-S, --statistics
    Afficher diverses informations à propos de chaque base de noms et quitter sans exécuter de recherche à moins qu'un motif soit donné. Pour la compatibilité avec les systèmes BSD, -S est acceptée comme alias pour --statistics. Cependant la sortie de locate -S est différente pour les implémentations GNU et BSD de locate.

--version
    Afficher le numéro de version de locate et quitter.

-w, --wholename
    Correspondance avec le nom complet du fichier tel qu'il est listé dans la base de noms. Ceci est le comportement par défaut.

ENVIRONNEMENT

LOCATE_PATH
    Liste de bases de données à parcourir, séparées par « : ». Si la valeur possède en tête ou en fin le caractère « : », ou possède deux caractères « : » sur une ligne, le résultat dépendra de la version de locate.

VOIR AUSSI
find(1), locatedb(5), updatedb(1), xargs(1), glob(3), Finding Files (en ligne dans Info ou en version imprimée)

HISTORIQUE
Le programme locate est apparu en tant que programme de recherche rapide de BSD, offert par James A. Woods. Ceci est décrit dans son papier Finding Files Fast qui a été publié dans Usenix ;login:, Vol 8, No 1, Fév/Mars, 1983, pp. 8-10. Lorsque le comportement du programme find a été modifié afin d'utiliser l'action -print par défaut dés lors qu'aucune action n'avait été spécifiée, l'interprétation de find motif a été modifiée. Les développeurs BSD ont alors transféré la fonctionnalité de recherche rapide à locate. L'implémentation du locate du GNU découle en fait du même code.

Modifications importantes de locate, dans l'ordre chronologique inverse :
4.3.7 | Gestion des différents ordonnancements de codage des octets
 | dans l'ancien format de base de données
4.3.3 | Gestion correcte des caractères multi-octets par locate -i
 | Arrivée de --max_db_age
4.3.2 | Gestion du format de base de données de slocate
4.2.22 | Arrivée de l'option --all
4.2.15 | Arrivée de l'option --regex
4.2.14 | Arrivée des options -L, -P, -H
4.2.12 | Une chaîne vide dans LOCATE_PATH correspond à la base de
 | données par défaut
4.2.11 | Arrivée de l'option --statistics
4.2.4 | Arrivée de --count et de --limit
4.2.0 | Les caractères jokers offrent la correspondance avec le nom
 | complet du fichier
4.0 | Arrivée du format de base de données LOCATE02
3.7 | Locate sait rechercher dans plusieurs bases de données

BOGUES

La base de noms de locate manipule correctement les noms de fichiers contenant des caractères saut de ligne, mais seulement si la commande système sort possède une option -z opérationnelle. Si vous suspectez que locate ait besoin de retourner des noms de fichiers incluant des caractères saut de ligne, alors utilisez l'option --null.

La meilleure façon de signaler un bogue est d'utiliser le formulaire à l'adresse http://savannah.gnu.org/bugs/?group=findutils. L'utilité de cette page est que vous serez en mesure de suivre l'évolution de la correction du problème. D'autres commentaires à propos de locate et du paquet findutils peuvent être envoyés à la liste de diffusion bug-findutils. Pour s'abonner à cette liste, envoyez un courriel à bug-findutils-request@gnu.org.

TRADUCTION
Cette page de manuel a été traduite par Frédéric Delanoy <delanoy_f AT yahoo DOT com> en 2002. 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.