close
Linux/Unix

find et locate : La différence entre les deux commandes

find et locate sont deux commandes qui permettent de localiser les fichiers sur un système d’exploitation linux, par contre ça ne fonctionnent pas de la même façon. Dans cet article nous allons voir la différence entre ces deux commandes et la manière dont elles opèrent.

-find :

La commande find permet de chercher un fichier ou dossier au sein d’une arborescence, si vous voulez par exemple chercher un fichier dont le nome est “mon_fichier” dans le répertoire /home, la commande find va effectuer une recherche au sein de ce répertoire  et dans tous ses sous répertoires :

root@serLinux:~# find /var/log -type f -name messages

Le temps que la commande find prend pour effectuer une recherche dépend de l’arborescence choisie. Si vous effectuez une recherche à partir de la racine “/”, c’est donc dans toute l’arborescence, ça va être long qu’une recherche au sein d’un répertoire comme /home.

la commande find accepte plusieurs options, contrairement à locate, permettant une recherche précise.

En voici quelques exemples pratiques.

-locate :

Contrairement à find, la commande locate ne cherche pas les fichiers au sein d’une arborescence mais dans une base de données.
Cette base de donnée stocke les informations des noms des fichiers existants et leurs arborescences.

root@serLinux:~# locate document.txt
/home/admin/labo/document.txt

L’inconvénient de la commande locate est que les informations des fichiers récents que vous venez de créer ne sont pas stocké dans la base immédiatement. c’est pour cela qu’il faut mettre à jour la base de locate avec la commande updatedb :

root@serLinux:~# updatedb

Note :
Le système se charge de mettre à jour cette base de données chaque jours.

 

 

Tags : commandes linuxfindlinuxlocate

Leave a Response