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

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:locate [04/08/2013 13:02]
captnfab [LOCATE - Commande de Recherche]
doc:systeme:locate [13/11/2014 08:22]
Hypathie [Introduction]
Ligne 1: Ligne 1:
 ====== LOCATE - Commande de Recherche ====== ====== LOCATE - Commande de Recherche ======
  
-''​locate'' ​renvoie __le cheminement complet__ du sujet de votre recherche.+  * Objet : retrouver des fichiers avec la commande ​locate 
 +  * Niveau requis : {{tag>​débutant}} 
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-) 
 +    * Création par [[user>​MaTTux]] juin 2012 
 +    * Testé par [[user>​Hypathie]] le 10/​08/​2014 
 +  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=96486#​p96486| c'est ici.]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-La commande ''​locate''​ effectue une recherche de fichiers et répertoires de manière extrèmement rapide grâce à une base de donnée. ​ 
  
-Par défaut, cette base de données est mise à jour toutes les 24h ce qui est suffisant pour son usage général. En cas de besoin on actualise la base de données manuellement,​ ce qui prend de quelques secondes à quelques minutes selon la taille du système de fichier concerné. 
  
-Bien que la commande ​''​locate''​ soit moins élaborée que la commandes [[manuel:​find]] et inadaptée aux fichiers changeants, sa vitesse et sa facilité d'​emploi en fait une commande redoutablement efficace, tant pour des recherches simples que pour celles qui portent sur la totalité du système de fichier. Vous ne vous poserez plus jamais la question de savoir où est planqué ce fichu fichier php.ini  ​+dixit : MaTTux_ (un peu revu et corrigé par Haricophile) ;-)  
 +===== Introduction ===== 
 +==== Comment ​la commande locate ​fonctionne-t-elle ? ====
  
-''​locate'' ​est donc très complémentaire ​de la commande [[manuel:​find]] qui elle est plus adaptées aux recherches locales et complexes, notamment avec des traitements sur les résultats comme avec la classique commande [[GREP]] ou en utilisant l'​option -exec +''​locate'' ​renvoie __le cheminement complet__ du sujet de votre recherche.
  
-dixit : MaTTux_ (un peu revu et corrigé par Haricophile) ;-) +La commande ''​locate''​ effectue une recherche de fichiers ​et répertoires de manière extrêmement rapide grâce à une base de donnée. ​
  
-===== Syntaxe =====+Par défaut, cette base de données est mise à jour toutes les 24h ce qui est suffisant pour son usage général. En cas de besoin on actualise la base de données manuellement,​ ce qui prend de quelques secondes à quelques minutes selon la taille du système de fichiers concerné.
  
-   ​$ ​locate ​<​options>​ <vos critères ​de recherche>​+Bien que la commande ''​locate''​ soit moins élaborée que la commandes [[:​doc:​systeme:​find]] et inadaptée aux fichiers changeants, sa vitesse et sa facilité d'​emploi en fait une commande redoutablement efficace, tant pour des recherches simples que pour celles qui portent sur la totalité du système ​de fichiers. Vous ne vous poserez plus jamais la question de savoir où est planqué ce fichu fichier php.ini  ​
  
-:-) **locate** effectue cette recherche dans une base de donnée ​rafraîchie automatiquement toutes les 24 h !+''​locate''​ est donc très complémentaire à la commande [[:​doc:​systeme:​find]] qui elle est plus adaptée aux recherches locales et complexes, notamment avec des traitements sur les résultats comme avec la classique commande [[GREP]] ou en utilisant l'​option -exec  
 + 
 +==== Mise à jour de la base de données ==== 
 + 
 +:-) **locate** effectue cette recherche dans une base de données ​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 !  :​-( ​ 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 ​en terminal root :+:-D Mais !... Mais, mais, mais... Il est possible de réactualiser cette bd (base de données) par la commande :
  
-   # ​updatedb+<code root>updatedb</​code>​
  
 Cette mise à jour prend plus ou moins de temps, selon les nouveautés que vous avez réalisées dernièrement sur votre pc. Cette mise à jour prend plus ou moins de temps, selon les nouveautés que vous avez réalisées dernièrement sur votre pc.
  
-''​locate'' ​respect les droits concernant le fruit de vos recherches. \\  +La commande ​''​locate'' ​permet ​de visualiser tous les fichiers en tant que simple utilisateur.\\  
-**locate ​sous user** ne trouvera que les fichiers consultables par cet **user**.+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\\ 
  
-En fait, en lançant ​''​locate'' ​nous utilisons maintenant ​l'application ​''​mlocate'' ​qui évite tous les messages ​d'erreurs qui pourraient survenir ​des limitations par les droits. \\  +==== Retrouver le chemin de "​mlocate"​ ==== 
-Ainsi, pour voir le lien symbolique (l) attribué à **locate** sur ma lenny :+ 
 +La commande locate est un lien symbolique vers ''​mlocate''​. Pour le vérifier, on peut utiliser la commande ls((avec la commande ls, on obtient "​lrwxrwxrwx"​ où la première lettre symbolise le type de fichier)).\\  
 + 
 +Par exemple sur ma lenny : 
 + 
 +  * Tout d'​abord,​ pour connaître le chemin complet de la commande : 
 + 
 +<code user>​type locate</​code>​ 
 + 
 +  locate est /​usr/​bin/​locate 
 + 
 +  * Puis avec la commande ls : 
 + 
 +<code user>ls -/​usr/​bin/​locate</​code>​ 
 + 
 +  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 : 
 + 
 +<code user>ls -l /​etc/​alternatives/​locate</​code>​ 
 + 
 +  lrwxrwxrwx 1 root root 16 avr 17 13:06 /​etc/​alternatives/​locate -> /usr/bin/mlocate 
 + 
 +<note tip> 
 +Connaître le chemin, c'est-à-dire aussi le nom complet d'une commande, permet parfois ​d'éviter bien des tracas, lorsqu'​on veut utiliser cette commande dans un script shell.\\  
 +</​note>​ 
 + 
 +Il vous est maintenant possible, pour effectuer une recherche, d'​utiliser ​ 
 + 
 +  -soit ''​locate critère-de-recherche''​  
 +  -soit ''/​etc/​alternatives/​locate critère-de-recherche''​  
 +  -soit enfin ''/​usr/​bin/​mlocate critère-de-recherche''​ 
 + 
 +=====Locate,​ sa syntaxe, ses options ===== 
 +===Syntaxe=== 
 + 
 +   ​locate <​options>​ <vos critères de recherche>​ 
 + 
 +===Les options===
  
-<​code>​ 
-$ ls -l /​usr/​bin/​locate ​ 
-lrwxrwxrwx 1 root root 24 avr 17 13:06 /​usr/​bin/​locate -> /​etc/​alternatives/​locate 
-$ ls -l /​etc/​alternatives/​locate 
-lrwxrwxrwx 1 root root 16 avr 17 13:06 /​etc/​alternatives/​locate -> /​usr/​bin/​mlocate 
-</​code>​ 
  
 ===== TP 01 Exemple d'​utilisation de locate ===== ===== TP 01 Exemple d'​utilisation de locate =====
Ligne 48: Ligne 91:
 Ainsi : Ainsi :
  
 +<code user>​locate '​*w.jpg'</​code>​
 <​code>​ <​code>​
-$ locate '​*w.jpg'​ 
 /​home/​mon-user/​2010-04-16--23.00.39/​002w.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/​005w.jpg
Ligne 80: Ligne 123:
 Pour ignorer les Majuscules ou minuscules : Pour ignorer les Majuscules ou minuscules :
  
-locate -i '​*W.jpg'​+<code user>locate -i '​*W.jpg'​</​code>​ 
 +<​code>​
 /​home/​mon_user/​2010-04-16--23.00.39/​002w.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/​005w.jpg
Ligne 87: Ligne 131:
 /​home/​mon_user/​2010-04-18--17.36.56/​003w.jpg /​home/​mon_user/​2010-04-18--17.36.56/​003w.jpg
 .../... .../...
 +</​code>​
  
 Notez l'​emploi des quotes ''​ pour signaler au shell qu'il s'agit d'une chaine de caractère. Notez l'​emploi des quotes ''​ pour signaler au shell qu'il s'agit d'une chaine de caractère.
Ligne 94: Ligne 139:
 Pour afficher les 2 premiers résultats contenant "​net"​ dans le dossier des configurations /etc : Pour afficher les 2 premiers résultats contenant "​net"​ dans le dossier des configurations /etc :
  
-locate -n 2 '/​etc*net*'​+<code user>locate -n 2 '/​etc*net*'​</​code>​
  
 === Option -c === === Option -c ===
  
 Pour comptabiliser les fichiers trouvés : Pour comptabiliser les fichiers trouvés :
 +<code user>​locate -c '​*w.jpg'</​code>​
  
-   $ locate -c '​*w.jpg'​ 
    15    15
  
 === Option -r === === Option -r ===
  
-   ​$ ​locate -r <nom du répertoire> ​ <ou nom du fichier>​ +  ​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 :+ 
 +>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 ​    /​var/​lib/​slocate/​slocate.db ​
  
 ===== TP 02 Créer un fichier de recherche ===== ===== TP 02 Créer un fichier de recherche =====
  
-Chercher un fichier contenant la chaîne "​mime",​ tu retrouveras le fichier de recherche dans "/​tmp"​((Voir:​ [[commande:chevron]])).+Chercher un fichier contenant la chaîne "​mime",​ tu retrouveras le fichier de recherche dans "/​tmp"​((Voir:​ [[:doc:​programmation:​shell:​chevrons]])).
 <code bash> <code bash>
 locate mime > /​tmp/​recherche-mime.txt</​code>​ locate mime > /​tmp/​recherche-mime.txt</​code>​
doc/systeme/locate.txt · Dernière modification: 13/07/2015 11:56 par milou

Pied de page des forums

Propulsé par FluxBB