logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


LOCATE - Commande de Recherche

dixit : MaTTux_ (un peu revu et corrigé par Haricophile) ;-)

Introduction

Syntaxe

 locate <options> <vos critères de recherche>

Mise à jour de la base de donnée

:-) locate effectue cette recherche dans une base de donnée rafraîchie automatiquement toutes les 24 h !

:-( Cela signifie aussi que locate ne peut être lancée sur un travail de moins de 24 h !

:-D Mais !… Mais, mais, mais… Il est possible de réactualiser cette bd (base de données) par la commande :

updatedb

Cette mise à jour prend plus ou moins de temps, selon les nouveautés que vous avez réalisées dernièrement sur votre pc.

La commande locate permet de visualiser tous les fichiers en tant que simple utilisateur.
Cela est dû au fait qu'en lançant locate, nous utilisons maintenant l'application mlocate qui évite tous les messages d'erreurs qui pourraient survenir du fait de la limitation de droits.

Retrouver le chemin de "mlocate"

La commande locate est un lien symbolique vers mlocate. Pour le vérifier, on peut utiliser la commande ls2).

Par exemple sur ma lenny :

  • Tout d'abord, pour connaître le chemin complet de la commande :
type locate
locate est /usr/bin/locate
  • Puis avec la commande ls :
ls -l /usr/bin/locate
lrwxrwxrwx 1 root root 24 avr 17 13:06 /usr/bin/locate -> /etc/alternatives/locate
Où la première lettre “l” (la lettre L minuscule), signifie qu'il s'agit d'un lien symbolique.
  • Puis on fait la même chose pour l'utilitaire lié à locate :
ls -l /etc/alternatives/locate
lrwxrwxrwx 1 root root 16 avr 17 13:06 /etc/alternatives/locate -> /usr/bin/mlocate
Connaître le chemin, c'est-à-dire aussi le nom complet d'une commande, permet parfois bien des tracas, lorsqu'on veut utiliser cette commande dans un script shell.

Il vous est maintenant possible pour effectuer une recherche d'utiliser :

  1. soit locate critère-de-recherche
  2. soit /etc/alternatives/locate critère-de-recherche
  3. soit enfin /usr/bin/mlocate critère-de-recherche

Et voilà, vous savez tout sur le p'tit nom de “locate” 8-)

TP 01 Exemple d'utilisation de locate

Je recherche des fichiers .jpg que j'ai renommé avec un w afin de les désigner comme susceptibles de paraître sur le web.
Mais où donc les ai-je disposées ?
locate est là, et le doute s'en va ! ;-)

Ainsi :

locate '*w.jpg'
/home/mon-user/2010-04-16--23.00.39/002w.jpg
/home/mon-user/2010-04-16--23.00.39/005w.jpg
/home/mon-user/2010-04-16--23.00.39/016w.jpg
/home/mon-user/2010-04-16--23.00.39/018w.jpg
.../...

Résultat fulgurant et magique ! :-D

Locate - Les Options

-i pour ignorer la casse majuscule ou minuscule
-u crée une base de données à partir de la racine /
-U ajoute dans la base de données le répertoire spécifié.
-r effectue la recherche du nom dans la base de données
-o spécifie la création d'une base de données ( database).
-d le chemin de la base de données
-e <rep1,rep2,...> - exclusion des répertoires de la database lors de l'utilisation des options -U ou u.
-l <niveau> - Niveau de sécurité .
-n <n> N'affiche que les n premiers résultats.
0 pas de sécurité. Cela accélère les recherches. 

Exemples

Option : -i

Pour ignorer les Majuscules ou minuscules :

locate -i '*W.jpg'
/home/mon_user/2010-04-16--23.00.39/002w.jpg
/home/mon_user/2010-04-16--23.00.39/005w.jpg
/home/mon_user/2010-04-16--23.00.39/016w.jpg
/home/mon_user/2010-04-16--23.00.39/018w.jpg
/home/mon_user/2010-04-18--17.36.56/003w.jpg
.../...

Notez l'emploi des quotes '' pour signaler au shell qu'il s'agit d'une chaine de caractère.

Option -n

Pour afficher les 2 premiers résultats contenant “net” dans le dossier des configurations /etc :

locate -n 2 '/etc*net*'

Option -c

Pour comptabiliser les fichiers trouvés :

locate -c '*w.jpg'
 15

Option -r

locate -r <nom du répertoire>  <ou nom du fichier>
L'option -r va créer récursivement le contenu de tous les sous-répertoires et fichiers se trouvant dans le répertoire indiqué.
Le contenu ( liste) sera stocké à la suite du fichier slocate.db ( la database ), qui se trouve dans le répertoire :
 /var/lib/slocate/slocate.db 

TP 02 Créer un fichier de recherche

Chercher un fichier contenant la chaîne “mime”, tu retrouveras le fichier de recherche dans “/tmp”3).

locate mime > /tmp/recherche-mime.txt

Source :

Sorcier_FXK, captnfab et MaTTux_ sur le chan DF, que leur sciences soient bénies et révérées à jamais
Et un livre bien utile :

  • Scott Granneman - Le Guide de Survie - L'essentiel du code et des commandes Linux

Lætitia & Bagatore sur le forum ici :

Comme quoi le carambar et les tagadas, ça en met dans la cervelle ! ;-)

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
avec la commande ls, on obtient “lrwxrwxrwx” où la première lettre symbolise le type de fichier
3)
Voir: chevrons
doc/systeme/locate.1407648077.txt.gz · Dernière modification: 10/08/2014 07:21 par Hypathie

Pied de page des forums

Propulsé par FluxBB