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.
La commande 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.
La commande 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.
nmap : les 12 commandes que vous devez connaître
Le fonctionnement du routeur
Iptables : 12 commandes à connaître
Le montage sous linux
Fail2Ban : How to protect Linux services