GNU/Linux >> Tutoriels Linux >  >> Linux

Rechercher rapidement des fichiers sous Linux avec la commande Locate

Comme son nom l'indique, la commande locate sous Linux est utilisée pour localiser (rechercher) un fichier. Il a la syntaxe suivante :

locate [options] filename

Bien qu'il soit très simple d'utiliser la commande de localisation, elle est accompagnée de nombreux si et de mais. Pour commencer, s'il ne trouve pas un fichier, cela ne signifie pas nécessairement que le fichier n'existe pas sur le système.

Ne soyez pas confus pour le moment. Je vais vous expliquer comment fonctionne la commande de localisation et comment l'utiliser pour rechercher des fichiers.

Utilisation de la commande locate sous Linux

La commande locate fonctionne sur un index, c'est-à-dire une base de données d'emplacements de fichiers. Lorsque vous utilisez la commande, elle fait référence à cet index au lieu de rechercher l'ensemble du système de fichiers. C'est la raison pour laquelle locate est super rapide pour trouver des fichiers sous Linux.

Certaines distributions Linux indexent automatiquement et régulièrement l'intégralité du système de fichiers. Vous pouvez également créer manuellement cet index (je vous le montrerai plus tard dans cet article).

L'utilisation de la commande de localisation est extrêmement simple. Il vous suffit de spécifier le nom du fichier :

locate filename

Le résultat montrera tous les endroits où le fichier que vous avez spécifié a été trouvé.

[email protected]:~$ locate desktop.iso
/home/abhishek/desktop.iso

La meilleure partie est que vous n'avez pas besoin d'être dans un certain répertoire pour trouver le fichier. N'oubliez pas que la commande locate ne recherche pas le système de fichiers mais l'index. C'est pourquoi vous n'avez pas besoin de spécifier un chemin ou un répertoire lors de la recherche de fichiers.

Vous pouvez également effectuer une recherche insensible à la casse en utilisant l'option -i :

[email protected]:~$ locate -i desktop.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso

Gardez à l'esprit que le résultat peut afficher tous les fichiers dont le nom contient le terme de recherche.

[email protected]:~$ locate -i desktop
/home/abhishek/eoan-desktop-amd64.iso
/home/abhishek/Bionic-Desktop-amd64.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso

Vous pouvez également utiliser regex avec locate :

locate -r regex_expression

Utilisation de updatedb pour créer votre propre index pour la commande de localisation

Ceci est juste à titre informatif et je ne pense pas que vous auriez besoin de l'utiliser.

Si vous souhaitez créer un index du répertoire actuel (et de ses sous-répertoires), vous pouvez utiliser la commande updatedb comme ceci :

updatedb -l0 -U my_directory -o index_file

Une fois que vous avez créé ce fichier d'index, vous pouvez demander à la commande locate d'utiliser explicitement cet index :

locate -d index_file file_name

Localisation est-elle meilleure que la commande find ?

Si vous souhaitez rechercher des fichiers dans une structure de répertoires qui ne change pas beaucoup, la commande de localisation est une bonne option. C'est super rapide aussi.

Mais la commande find vous donne beaucoup d'options, spécialement pour effectuer des options de recherche complexes.

Les deux commandes ont leur utilisation. À mon avis, si vous vous sentez paresseux et que vous voulez un résultat rapide, utilisez la localisation. Si le résultat ne vous convient pas, passez à la commande de recherche.

Qu'en pensez-vous ?


Linux
  1. Conseils pour lister les fichiers avec ls sur la ligne de commande Linux

  2. Comment rechercher des fichiers sous Linux avec la commande Find

  3. 5 outils de ligne de commande pour trouver rapidement des fichiers sous Linux

  4. Rechercher des fichiers avec Gui ?

  5. Utilisez Find and Locate pour rechercher des fichiers sous Linux

Commande ls sous Linux pour lister les fichiers

Comment rechercher des fichiers à partir de la ligne de commande Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Linux recherche une chaîne dans des dossiers et des fichiers avec ack

Commande lsof sous Linux avec exemples

Commande comm Linux avec exemples