La commande locate
est présente dans le système Unix, et sa fonctionnalité est de rechercher des fichiers ou des répertoires dans notre système, elle utilise une base de données donc après avoir mis à jour la base de données la recherche est très rapide.
Voici les étapes à suivre pour utiliser locate sur Mac :
Mise à jour de la base de données
Nous devons mettre à jour la base de données des fichiers et des répertoires ; il est recommandé de mettre à jour la base de données après un certain temps.
Cette commande permet de mettre à jour la base de données :
sudo /usr/libexec/locate.updatedb
La première fois, la création de la base de données prend beaucoup de temps.
J’ai un lien symbolique vers le fichier binaire, de cette façon vous n’avez pas besoin d’introduire le chemin complet à chaque fois :
sudo ln -s /usr/libexec/locate.updatedb /usr/local/bin/updatedb
Maintenant vous pouvez relancer la session du terminal et updatedb
est disponible.
sudo updatedb
Rechercher un fichier ou un répertoire
La syntaxe pour rechercher un fichier ou un répertoire est simple ; il suffit de placer la commande locate à côté du nom du fichier ou du répertoire :
localiser [cible]
Exemple :
locate fichier.txt
Il existe quelques options supplémentaires(man locate
) :
-0 Imprimer les noms de chemin séparés par un caractère ASCII NUL (code de caractère 0) au lieu de la valeur par défaut NL (nouvelle ligne, code de caractère 10).-S Imprimer quelques statistiques sur la base de données et quitter.-c Supprimer la sortie normale ; à la place, imprimer un compte de noms de fichiers correspondants.-d database Rechercher dans database au lieu du nom de fichier par défaut database. Plusieurs options -d sont autorisées. Chaque option -d supplémentaire ajoute la base de données spécifiée à la liste des bases de données à rechercher. L'option database peut être une liste de bases de données séparées par deux points. Un simple deux-points est une référence à la base de données par défaut. $ locate -d $HOME/lib/mydb : foo recherchera d'abord la chaîne ``foo''' dans $HOME/lib/mydb et ensuite dans /var/db/locate.database. $ locate -d $HOME/lib/mydb::/cdrom/locate.database foo cherchera d'abord la chaîne `foo'' dans $HOME/lib/mydb et ensuite dans /var/db/locate.database et ensuite dans /cdrom/locate.database. $ locate -d db1 -d db2 -d db3 pattern est identique à $ locate -d db1:db2:db3 pattern ou $ locate -d db1:db2 -d db3 pattern Si - est donné comme nom de base de données, l'entrée standard sera lue à la place. Par exemple, vous pouvez compresser votre base de données et utiliser : $ zcat database.gz | locate -d - pattern Cela peut être utile sur des machines avec un CPU rapide, peu de RAM et des E/S lentes. Note : vous ne pouvez utiliser qu'un seul motif pour stdin.-i Ignorer les distinctions de casse à la fois dans le motif et la base de données.-l nombre Limiter la sortie au nombre de noms de fichiers et quitter.-m Utiliser mmap(2) au lieu de la bibliothèque stdio(3). C'est le comportement par défaut et il est plus rapide dans la plupart des cas.-s Utiliser la bibliothèque stdio(3) au lieu de mmap(2).