GNU/Linux >> Tutoriels Linux >  >> Linux

15 exemples pratiques de commande Locate sous Linux

Sous Linux, il existe de nombreux outils pour rechercher et localiser des fichiers et des répertoires. De l'expérience précédente, nous avons vu que certains de ces outils étaient très fluides à grande échelle, et certains de ces outils étaient un peu plus lents, mais ils avaient une grande échelle à couvrir sur le répertoire. Plus tôt, nous avons vu comment utiliser la commande fd et la commande find sous Linux pour rechercher un fichier. Au lieu d'avoir les commandes fd ou find, nous pouvons utiliser la commande locate sous Linux pour rechercher rapidement et efficacement un fichier avec des paramètres spécifiques.

La principale différence entre la commande fd et la commande locate est que la commande locate peut trouver rapidement des fichiers dans le répertoire car elle utilise une base de données spéciale pour rechercher les requêtes.

Dans les systèmes basés sur Linux et Unix, la commande locate utilise mlocate ou la base de données de localisation fusionnée pour rechercher dans l'ensemble du système. La commande locate a été publiée pour la première fois en 1982 sur les machines BSD et GNU avec la licence de confidentialité GNU.

Comment fonctionne la commande de localisation ?

La méthode de travail de la commande locate sous Linux est très conventionnelle et facile à comprendre. Il utilise une base de données sur le système qui stocke les chemins liés à l'ensemble du système de fichiers. Lorsque nous exécutons la commande de localisation, elle accède à la base de données et recherche le résultat. La commande locate utilise la base de données updatedb ou mlocate pour stocker tous les chercheurs et chemins.

Comme la localisation utilise le chemin et les liens pour trouver les éléments, c'est ce qui rend la commande de localisation plus rapide. Si vous devez apporter des modifications ou restaurer votre base de données mlocate, vous pouvez accéder au fichier de configuration à partir du répertoire mentionné ci-dessous.

/var/lib/mlocate/mlocate.db

Normalement, la base de données mlocate est automatiquement mis à jour chaque fois que nous exécutons une commande de localisation sur le système Linux. Cependant, dans certains cas, lors de la suppression d'un fichier ou de l'ajout d'un nouveau fichier au système, la base de données peut ne pas obtenir immédiatement les données du système. Dans ce cas, vous pouvez mettre à jour manuellement la base de données mlocate sur votre système Linux pour rendre les commandes de localisation plus puissantes.

Vous pouvez également mettre à jour le updatedb configuration via un script.

- -
# cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs ecryptfs fusesmb devtmpfs"

Installer la localisation sur le système

De nos jours, dans toutes les distributions majeures, la commande locate est préinstallée avec le système Linux. Si vous ne trouvez pas la commande de localisation sur votre système, vous pouvez l'installer sur votre ordinateur et commencer à l'utiliser.

La méthode d'installation de la commande locate sur un système Linux est simple. Le paquet est déjà stocké dans le référentiel officiel de Linux, nous pouvons donc l'installer via le commentaire aptitude sur Debian Linux et la commande DNF ou Yum sur les systèmes Redhat ou Fedora Linux.

Avant d'exécuter les commandes d'installation, vous pouvez vérifier si la commande de localisation est installée sur votre système ou non. Pour vérifier, vous pouvez simplement taper localiser et appuyez sur le bouton Entrée de votre shell de terminal. Si vous obtenez les informations de version ou d'état, l'outil est installé sur votre système.

Comme vous pouvez le voir dans l'image ci-dessous, l'outil de localisation n'est pas installé, nous allons donc maintenant exécuter les commandes d'installation.

$ locate

Exécutez les commandes mentionnées ci-dessous sur votre Linux basé sur Ubuntu ou Debian pour installer l'outil de localisation sur votre système.

sudo apt update
sudo apt install mlocate

Si vous utilisez Fedora basé sur Yum et un système Redhat Linux, vous pouvez exécuter le jeu de commandes mentionné ci-dessous pour obtenir l'outil de localisation.

sudo yum -y update
sudo yum install mlocate

Exemples de commandes de localisation

Dans cet article, nous verrons quelques exemples concrets utiles et pratiques que vous devriez parcourir et apprendre. La commande de localisation fonctionne sans problème avec toutes les principales distributions Linux sur les ordinateurs de bureau et les serveurs.

1. Rechercher un fichier

Le tout premier exemple que nous allons voir à propos de la commande locate est la façon dont nous pouvons rechercher un fichier dans tout le système de fichiers via la commande locate. Cette commande reviendra avec tous les fichiers MySQL que nous avons dans l'ensemble du système.

locate mysql

2. Formater la sortie

Maintenant, si vous voulez filtrer la commande mentionnée ci-dessus, nous pouvons utiliser le moins syntaxe avec le symbole pipe. Nous aurions également pu utiliser la commande GREP pour trier ou filtrer la sortie.

locate mysql | less

3. Afficher les fichiers existants

Comme je l'ai mentionné plus tôt, parfois la commande de localisation n'élimine pas le fichier ou les données que nous venons de supprimer du système Linux ou que nous venons d'ajouter au système de fichiers. Donc, pour obtenir la valeur appropriée, nous pouvons utiliser un -e flag avec la commande locate pour éliminer les fichiers qui ont déjà été supprimés.

Par exemple, ici, j'ai exécuté un rm commande pour supprimer un fichier du système. Maintenant, si j'exécute la commande de localisation sous Linux de manière conventionnelle, cela me donnera le résultat que le fichier existe toujours sur le système. Mais si nous exécutons le commentaire de localisation avec un indicateur -e, il rechargera immédiatement la localisation de la base de données et mettra à jour la sortie.

rm file1.txt
locate file1.txt
locate -e file1.txt

4. Compter les fichiers existants

La commande de localisation peut également donner une sortie du nombre de fichiers existants sur le système pour une requête spécifique.

locate -c mysql

5. Désactiver les erreurs lors de la recherche

Souvent, lorsque nous trouvons un élément via la commande de localisation et que nous commettons des erreurs dans le chemin ou la syntaxe, cela nous renvoie un message d'erreur. Si nous voulons masquer le message d'erreur, nous pouvons ajouter un -q supplémentaire drapeau à la fin de la commande pour désactiver les erreurs lors de la recherche.

locate -d ~/Documents/database.db hello
locate -d ~/Documents/database.db hello -q

6. Limiter le nombre de résultats de recherche

Nous pouvons également définir une limite pour la commande de localisation pour afficher les résultats de la recherche. La commande de localisation mentionnée ci-dessous n'affichera que dix résultats pour la requête pour trouver le .txt fichier dans le système de fichiers.

locate *.txt -n 10

7. Ignorer les fichiers sensibles à la casse

Par défaut, la commande locate est sensible à la casse sous Linux, mais vous pouvez la désactiver sur votre système. Pour désactiver la sensibilité à la casse de la commande de localisation, nous pouvons utiliser un -i drapeau dans la commande.

$ locate file1.txt
$ locate FILE1.TXT
$ locate -i FILE1.TXT

8. Rechercher un fichier avec un nom exact

Si nous voulons rechercher un fichier avec un nom exact, nous pouvons utiliser le -r flag dans la commande locate sous Linux. Dans la commande mentionnée ci-dessous, le $ Le signe est utilisé comme expression pour indiquer que la session est terminée, et la barre oblique (/) est un symbole des limites de la commande.

locate -r /file404_UbuntuPIT.txt$

9. Séparez les entrées de sortie avec ASCII NUL

Normalement, sous Linux, la commande locate imprime la sortie avec un saut de ligne, mais si nous le voulons, nous pouvons supprimer l'espace de la sortie et imprimer la sortie avec un ASCII nul.

locate -0 apache

10. Afficher les statistiques de la base de données

En plus de rechercher les fichiers, nous pouvons également afficher la structure de la base de données pour une requête spécifique sur le système avec un signe -s sur la commande de localisation sous Linux.

locate -S

11. Mettre à jour la base de données mlocate

Si nous devons mettre à jour manuellement la base de données de la commande locate sur notre système Linux, nous pouvons exécuter la commande suivante avec un accès sudo.

sudo updatedb

12. Choisissez une autre base de données mlocate

Si vous rencontrez un problème lors de la recherche d'une requête, il se peut qu'il y ait eu un problème avec la base de données de localisation. La commande locate utilise la base de données mlocate par défaut; vous pouvez également basculer entre d'autres bases de données pour la commande de localisation.

default mlocate database
locate -d [new database path] [pattern]

13. Ignorer les signes diacritiques et les différences d'accent

Dans certains cas, vous avez peut-être utilisé un alphabet grec ou romain dans votre nom de fichier et, lors de la recherche dans ce fichier, vous avez peut-être utilisé un alphabet normal au lieu de cet alphabet spécial. Dans ce cas, la commande de localisation ne renverra aucune sortie. Pour éviter ce problème et ignorer les signes diacritiques et les différences d'accent, vous pouvez utiliser un -t drapeau dans votre commande.

locate My_new_image_ca.jpeg
locate -t My_new_image_ca.jpeg

14. Affichage uniquement Présent Fichiers de votre système

J'ai mentionné plus tôt que la commande locate renvoie parfois les fichiers supprimés sur la sortie. Il existe des moyens qui vous permettront d'éviter les fichiers qui n'existent pas physiquement sur votre système et qui sont déjà supprimés. Vous ne pouvez afficher que les fichiers présents sur votre système en utilisant un -i et un -e drapeau sur la commande de localisation sous Linux.

locate -i -e *text.txt*

15. Rechercher des types de fichiers spécifiques

Vous pouvez rechercher un type de fichier spécifique dans votre système Linux via la commande locate. Par exemple, les commandes mentionnées ci-dessous montrent comment rechercher des fichiers texte et image jpeg dans votre système via la commande de localisation.

locate  -c “*.txt*”
locate  -c “*.jpg*”

Derniers mots

Dans l'intégralité de l'article, nous avons vu comment fonctionne la commande de localisation et son type de base de données et de fonctionnement pour fournir un résultat de recherche efficace. Nous avons parcouru quelques exemples puissants et les plus utilisés de la commande de localisation.

J'espère que ce message vous a été utile ; si oui, partagez ce message avec vos amis et la communauté Linux. Vous pouvez également nous indiquer quel outil vous semble le plus utile pour rechercher des fichiers sur votre système.


Linux
  1. Commande cp sous Linux :7 exemples pratiques

  2. Commande d'arrêt de Linux :5 exemples pratiques

  3. 5 exemples pratiques de la commande dd sous Linux

  4. 10 exemples pratiques de commandes Linux nm

  5. 7 Exemples de commandes Linux df

12 exemples pratiques d'In Command sous Linux

15 exemples pratiques de commande Rsync sous Linux

5 exemples pratiques de la commande Tail sous Linux

commande echo sous Linux :7 exemples pratiques

Commande Ping pratique dans des exemples Linux

Exemples de commandes id sous Linux