10 exemples pratiques utiles de commande 'locate' pour les débutants de Linux
L’une des expériences les plus désagréables auxquelles la plupart des nouveaux utilisateurs de la plate-forme Linux sont généralement confrontés est l’incapacité à trouver les moyens les plus simples et pourtant plus efficaces de rechercher des fichiers sur leur système.
Linux, comme presque tous les autres systèmes d’exploitation, utilise plusieurs mécanismes pour répondre aux requêtes de recherche des utilisateurs. Deux des utilitaires de recherche de fichiers les plus populaires accessibles aux utilisateurs sont appelés find et locate.
Maintenant, il est important de noter que les deux processus de recherche fonctionnent extrêmement bien, mais néanmoins, le centre de cet article sera davantage sur l’utilitaire de localisation, qui est le plus pratique des deux car il utilise des moyens plus efficaces pour traiter rapidement les requêtes saisies par les utilisateurs.
L’utilitaire locate fonctionne mieux et plus rapidement que son homologue find, car au lieu de rechercher dans le système de fichiers lorsqu’une recherche de fichiers est lancée - Something find le fait - locate consulte une base de données. Cette base de données contient des bits et des parties de fichiers et leurs chemins correspondants sur votre système.
Voici dix commandes de localisation simples pour vous aider à devenir plus productif avec votre machine Linux.
1. Utilisation de la commande de localisation
Lancer la commande locate pour rechercher un fichier est assez facile et direct. Tout ce que vous avez à faire est de taper :
$ locate LAMP-Setup.odt
/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt
2. Limitez les requêtes de recherche à un nombre spécifique
Vous pouvez limiter les retours de votre recherche à un nombre requis pour éviter la redondance avec vos résultats de recherche à l’aide de la commande -n.
Par exemple, si vous ne voulez que 20 résultats de vos requêtes, vous pouvez taper la commande suivante :
$ locate "*.html" -n 20
/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html
Les résultats afficheront les 20 premiers fichiers qui se terminent par .html.
3. Affichez le nombre d’entrées correspondantes
Si vous souhaitez afficher le nombre de toutes les entrées correspondantes du fichier « tecmint », utilisez la commande locate -c.
$ locate -c [tecmint]*
1550
4. Ignorer les sorties de localisation sensibles à la casse
Par défaut, locate est configuré pour traiter les requêtes de manière sensible à la casse, ce qui signifie que TEXT.TXT vous dirigera vers un résultat différent de celui de text.txt.
Pour que la commande locate ignore la sensibilité à la casse et affiche les résultats des requêtes en majuscules et en minuscules, saisissez les commandes avec l’option -i.
$ locate -i *text.txt*
/home/tecmint/TEXT.txt
/home/tecmint/text.txt
5. Actualiser la base de données mlocate
Étant donné que la commande locate s’appuie sur une base de données appelée mlocate. Ladite base de données doit être mise à jour régulièrement pour que l’utilitaire de commande fonctionne efficacement
.
Pour mettre à jour la base de données mlocate, vous utilisez un utilitaire appelé updatedb. Il convient de noter que vous aurez besoin de privilèges de superutilisateur pour que cela fonctionne correctement, c’est-à-dire qu’il doit être exécuté en tant que privilèges root ou sudo.
sudo updatedb
6. N’affichez que les fichiers présents dans votre système
Lorsque vous disposez d’une base de données mlocate mise à jour**, la commande locate produit toujours les résultats des fichiers dont les copies physiques sont supprimées de votre système.
Pour éviter de voir les résultats de fichiers non présents dans votre machine au moment de la saisie de la commande, vous devrez utiliser la commande locate-e. Le processus recherche votre système pour vérifier l’existence du fichier que vous recherchez, même s’il est toujours présent dans votre mlocate.db.
$ locate -i -e *text.txt*
/home/tecmint/text.txt
7. Entrées de sortie séparées sans nouvelle ligne
Le séparateur par défaut de la commande locate est le caractère de saut de ligne (\\n). Mais si vous préférez utiliser un séparateur différent comme le NUL ASCII, vous pouvez le faire en utilisant l’option de ligne de commande -0.
$ locate -i -0 *text.txt*
/home/tecmint/TEXT.txt/home/tecmint/text.txt
8. Examinez votre base de données de localisation
Si vous avez des doutes sur l’état actuel de votre mlocate.db, vous pouvez facilement afficher les statistiques de localisation de la base de données à l’aide de la commande -S.
$ locate -S
Database /var/lib/mlocate/mlocate.db:
32,246 directories
4,18,850 files
2,92,36,692 bytes in file names
1,13,64,319 bytes used to store database
9. Supprimer les messages d’erreur dans Locate
Le fait d’essayer constamment d’accéder à votre base de données de localisation génère parfois des messages d’erreur inutiles indiquant que vous ne disposez pas des privilèges requis pour avoir un accès root à la mlocate.db, car vous n’êtes qu’un utilisateur normal et non le super-utilisateur requis.
Pour supprimer complètement ces messages, utilisez la commande -q.
locate "\*.dat" -q*
10. Choisissez un autre emplacement mlocate
Si vous saisissez des requêtes à la recherche de résultats qui ne sont pas présents dans la base de données mlocate par défaut et que vous souhaitez obtenir des réponses provenant d’une autre mlocate.db située ailleurs dans votre système, vous pouvez pointer la commande locate vers une autre base de données mlocate située dans une autre partie de votre système à l’aide de la commande -d.
locate -d <new db path> <filename>
locate command peut sembler être l’un de ces utilitaires qui fait tout ce que vous lui avez demandé de faire sans trop d’agitation, mais en vérité, pour que le processus conserve son efficacité, le mlocate.db doit être alimenté en informations de temps en temps. Si vous ne le faites pas, le programme risque de devenir un peu inutile.