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