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 →
Ci-dessous, les différences entre deux révisions de la page.
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 [12/09/2010 16:49] 127.0.0.1 édition externe |
doc:systeme:locate [10/08/2014 07:21] Hypathie [LOCATE - Commande de Recherche] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== LOCATE - Commande de Recherche ====== | ====== LOCATE - Commande de Recherche ====== | ||
- | La commande ''locate'' effectue une recherche dans une base de donnée, automatiquement mise à jour toutes les 24h, de programmes, de fichiers ou de répertoires __où vous êtes intervenu__ selon les critères que vous lui donnez de manière quasi instantané ! :-) | + | * Objet : faire des recherches avec la commande locate |
+ | * Niveau requis : {{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]] | ||
+ | * Testé par <Hypathie> le <Août 2014> | ||
+ | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | ''locate'' renvoie __le cheminement complet__ du sujet de votre recherche ! | ||
- | Bien que moins poussée que les commandes [[GREP]] ou [[FIND]] et limitée à ces 24h dans l'activité, sa légèreté et réactivité lui donne un avantage indéniable pour sa facilité d'emploi. | ||
- | dixit : MaTTux_ ;-) | + | dixit : MaTTux_ (un peu revu et corrigé par Haricophile) ;-) |
+ | ===== Introduction ===== | ||
+ | ===Syntaxe === | ||
+ | locate <options> <vos critères de recherche> | ||
- | ===== Syntaxe ===== | + | ===Mise à jour de la base de donnée === |
- | + | ||
- | $ locate <options> <vos critères de recherche> | + | |
:-) **locate** effectue cette recherche dans une base de donnée rafraîchie automatiquement toutes les 24 h ! | :-) **locate** effectue cette recherche dans une base de donnée rafraîchie automatiquement toutes les 24 h ! | ||
Ligne 19: | Ligne 23: | ||
:-( 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 : | + | |
- | <code> | + | 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)).\\ |
- | $ ls -l /usr/bin/locate | + | |
- | lrwxrwxrwx 1 root root 24 avr 17 13:06 /usr/bin/locate -> /etc/alternatives/locate | + | Par exemple sur ma lenny : |
- | $ ls -l /etc/alternatives/locate | + | |
- | lrwxrwxrwx 1 root root 16 avr 17 13:06 /etc/alternatives/locate -> /usr/bin/mlocate | + | * Tout d'abord, pour connaître le chemin complet de la commande : |
- | </code> | + | |
+ | <code user>type locate</code> | ||
+ | |||
+ | locate est /usr/bin/locate | ||
+ | |||
+ | * Puis avec la commande ls : | ||
+ | |||
+ | <code user>ls -l /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 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'' | ||
+ | Et voilà, vous savez tout sur le p'tit nom de "locate" 8-) | ||
===== TP 01 Exemple d'utilisation de locate ===== | ===== TP 01 Exemple d'utilisation de locate ===== | ||
Ligne 46: | Ligne 77: | ||
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 68: | Ligne 99: | ||
-e <rep1,rep2,...> - exclusion des répertoires de la database lors de l'utilisation des options -U ou u. | -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é . | -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. | 0 pas de sécurité. Cela accélère les recherches. | ||
</code> | </code> | ||
Ligne 77: | Ligne 109: | ||
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 84: | Ligne 117: | ||
/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. | ||
+ | |||
+ | === Option -n === | ||
+ | |||
+ | Pour afficher les 2 premiers résultats contenant "net" dans le dossier des configurations /etc : | ||
+ | |||
+ | <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 | ||
- | ==== Source : ==== | + | ===== 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: [[:doc:programmation:shell:chevrons]])). | ||
+ | <code bash> | ||
+ | locate mime > /tmp/recherche-mime.txt</code> | ||
+ | |||
+ | ===== Source : ===== | ||
**Sorcier_FXK**, **captnfab** et **MaTTux_** sur le chan DF, //que leur sciences soient bénies et révérées à jamais// \\ | **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 : \\ | + | Et un livre bien utile : |
- | **Scott Granneman** - Le Guide de Survie - //L'essentiel du code et des commandes Linux// | + | * **Scott Granneman** - Le Guide de Survie - //L'essentiel du code et des commandes Linux// |
+ | |||
+ | **Lætitia** & **Bagatore** sur le forum ici : | ||
+ | * http://debian-facile.org/forum/viewtopic.php?pid=48706#p48706 | ||
+ | //Comme quoi le carambar et les tagadas, ça en met dans la cervelle !// ;-) | ||