GNU/Linux >> Tutoriels Linux >  >> Linux

Commande de localisation Linux pour les débutants (8 exemples)

Bien que find soit sans aucun doute l'un des utilitaires de ligne de commande les plus populaires et les plus puissants pour la recherche de fichiers sous Linux, il n'est pas assez rapide pour les situations où vous avez besoin de résultats instantanés. Si vous souhaitez rechercher un fichier sur votre système via la ligne de commande et que la vitesse est la priorité absolue, vous pouvez utiliser une autre commande :Localiser .

Dans ce tutoriel, nous discuterons de la localisation commande à l'aide d'exemples faciles à comprendre. Veuillez noter que toutes les instructions/exemples mentionnés ici ont été testés sur Ubuntu 16.04 LTS, et le locate la version que nous avons utilisée est 0.26.

1. Comment utiliser la commande de localisation sous Linux

La commande de localisation est très facile à utiliser. Tout ce que vous avez à faire est de lui transmettre le nom du fichier que vous souhaitez rechercher.

locate [filename]

Par exemple, si je veux rechercher tous les noms de fichiers contenant la chaîne "dir2", je peux le faire en utilisant locate de la manière suivante :

Remarque  :La commande "locate dir2" (sans astérisque) fera également l'affaire, car locate remplace implicitement le nom que vous transmettez (disons NAME) par *NAME*.

2. Comment fonctionne la commande de localisation ou pourquoi est-elle si rapide

La raison pour laquelle la localisation est si rapide est qu'elle ne lit pas le système de fichiers pour le nom de fichier ou de répertoire recherché. Il fait en fait référence à une base de données (préparée par la commande updatedb ) pour trouver ce que l'utilisateur recherche et sur la base de cette recherche, produit sa sortie.

Bien que ce soit une bonne approche, elle a sa part d'inconvénients. Le principal problème est qu'après la création de chaque nouveau fichier ou répertoire sur le système, vous devez mettre à jour la base de données de l'outil pour qu'il fonctionne correctement. Sinon, la commande ne pourra pas trouver les fichiers/répertoires créés après la dernière mise à jour de la base de données.

Par exemple, si j'essaie de trouver des fichiers dont le nom contient la chaîne "tosearch" dans le répertoire "Téléchargements" de mon système, le find La commande produit un résultat dans la sortie :

Mais lorsque j'essaie d'effectuer la même recherche à l'aide de la commande de localisation, cela ne produit aucune sortie.

Cela signifie que les recherches de localisation de la base de données n'ont pas été mises à jour après la création du fichier sur le système. Alors, mettons à jour la base de données, ce qui peut être fait en utilisant le updatedb commande. Voici comment procéder :

sudo updatedb

Et maintenant, lorsque j'exécute à nouveau la même commande de localisation, elle affiche les fichiers dans la sortie :

De même, après la suppression d'un fichier ou d'un répertoire, vous devez vous assurer que la base de données de localisation a été mise à jour, sinon la commande continuera à afficher le fichier dans sa sortie lors de la recherche.

3. Comment faire en sorte que Locate imprime le nombre ou le nombre d'entrées correspondantes dans la sortie

Comme nous l'avons vu, la commande locate produit le nom des fichiers correspondants ainsi que leurs chemins complets ou absolus dans la sortie. Mais si vous le souhaitez, vous pouvez faire en sorte que l'outil supprime toutes ces informations et imprime simplement le nombre ou le nombre d'entrées correspondantes à la place. Cela peut être fait en utilisant le -c option de ligne de commande.

4. Comment forcer la localisation à n'imprimer que les entrées qui correspondent aux fichiers existants

Comme nous l'avons déjà mentionné plus tôt dans cet article, si un fichier est supprimé du système, jusqu'à ce que vous mettiez à jour la base de données de localisation, la commande continuera à afficher ce nom de fichier dans la sortie. Pour ce cas spécifique, cependant, vous pouvez ignorer la mise à jour de la base de données et toujours avoir des résultats corrects dans la sortie en utilisant le -e option de ligne de commande.

Par exemple, j'ai supprimé le fichier 'filetosearch.txt' de mon système. Cela a été confirmé par la commande find, qui n'était plus en mesure de rechercher le fichier :

Mais lorsque j'ai effectué la même opération en utilisant locate, le fichier s'affichait toujours dans la sortie :

Et nous savons pourquoi - parce que la base de données de locate n'a pas été mise à jour après la suppression du fichier. Cependant, en utilisant le -e l'option a fait l'affaire :

Voici ce que dit la page de manuel de localisation à propos de cette option :"Afficher uniquement les entrées qui font référence à des fichiers existants au moment de l'exécution de la localisation."

5. Comment faire en sorte que la localisation ignore les distinctions de casse

Par défaut, l'opération de recherche effectuée par la commande de localisation est sensible à la casse. Mais vous pouvez forcer l'outil à ignorer les distinctions de casse en utilisant le -i option de ligne de commande.

Par exemple, j'ai deux fichiers sur mon système, nommés 'newfiletosearch.txt' et 'NEWFILETOSEARCH.txt'. Donc, comme vous pouvez le voir, les noms de fichiers sont les mêmes, juste que leurs cas sont différents. Si vous demandez localisez pour rechercher, disons, "*tosearch*", alors il n'affichera que le nom en minuscules dans sa sortie :

Mais l'utilisation de l'option de ligne de commande -i force la commande à ignorer la casse, et les deux noms de fichiers sont produits dans la sortie :

6. Comment séparer les entrées de sortie avec ASCII NUL

Par défaut, les entrées de sortie générées par la commande de localisation sont séparées par le caractère de saut de ligne (\n). Mais si vous le souhaitez, vous pouvez changer le séparateur et avoir l'ASCII NUL au lieu d'une nouvelle ligne. Cela peut être fait en utilisant le -0 option de ligne de commande.

Par exemple, j'ai exécuté la même commande que nous avons utilisée dans la dernière section ci-dessus, mais j'ai ajouté l'option de ligne de commande -0 :

Vous pouvez donc voir que le séparateur de nouvelle ligne n'est plus là - il a été remplacé par NUL.

7. Comment afficher les informations sur la base de données de localisation

Si vous voulez savoir quelle base de données utilise, ainsi que d'autres statistiques sur la base de données, utilisez le -S option de ligne de commande.

8. Comment rechercher un nom de fichier exact à l'aide de locate

Par défaut, lorsque vous recherchez un nom de fichier à l'aide de locate, le nom que vous transmettez - par exemple NAME - est implicitement remplacé par *NAME*. Par exemple, si je recherche un nom de fichier "testfile", alors tous les noms correspondant à *testfile* sont produits dans la sortie :

Mais que se passe-t-il si l'exigence est de rechercher des fichiers dont les noms correspondent exactement à 'testfile' ? Eh bien, dans ce cas, vous devrez utiliser des expressions régulières, qui peuvent être activées en utilisant le -r option de ligne de commande. Alors, voici comment vous pouvez rechercher uniquement "testfile" en utilisant des expressions régulières :

locate -r /testfile$

Si vous débutez avec les expressions régulières, rendez-vous ici.

Conclusion

Locate offre beaucoup plus d'options, mais celles dont nous avons parlé ici devraient suffire à vous donner une idée de base de l'utilitaire de ligne de commande, ainsi qu'à vous aider à démarrer. Nous vous conseillons d'essayer d'abord toutes les options décrites ici sur votre machine Linux, puis de passer à d'autres que vous pouvez trouver dans la page de manuel de l'outil.

En cas de doute ou de question, n'hésitez pas à laisser un commentaire.


Linux
  1. 10 exemples de commandes 'rm' pour les débutants Linux

  2. Tutoriel de commande cd Linux pour les débutants (8 exemples)

  3. Tutoriel de commande de date Linux pour les débutants (8 exemples)

  4. Commande Linux killall pour les débutants (8 exemples)

  5. localiser des exemples de commandes sous Linux

Tutoriel de commande Linux nm pour les débutants (10 exemples)

Tutoriel de commande Linux OD pour les débutants (6 exemples)

Tutoriel de commande Linux w pour débutants (5 exemples)

Tutoriel de commande Linux ss pour les débutants (8 exemples)

16 exemples pratiques de commande Linux LS pour les débutants

Explication de la commande Linux mv pour les débutants (8 exemples)