math-linux.com
Accueil du site > Linux > Commande du jour > Rechercher un fichier : locate, find et which

Rechercher un fichier : locate, find et which

mardi 29 novembre 2005, par Nadir SOUALEM

Mots-clés:

, , , , .

Nous souhaitons retrouver au sein de notre arborescence, un ou plusieurs fichiers. Les commandes locate, find et which vont nous permettre d’effectuer cette tâche. On évoquera également leurs différences et la manière dont elles opèrent.

locate

La commande locate permet de trouver très rapidement un fichier. Contrairement à ce que l’on pourrait penser locate ne vas pas chercher le fichier au sein de l’arborescence, mais au sein d’une base de données contenant la liste des fichiers existants. De ce fait, il se peut que lorque vous venez de créer un fichier ou un répertoire que ce dernier ne soit pas dans cette base de données, il faut pour cela réactualiser la base de données à l’aide de la commande updatedb. Ce qui est a fortiori un inconvénient. À noter que le système sur lequel vous travaillez s’occupe de mettre à jour cette base de données. La fonction locate fonctionne comme suit : locate nom_de_ficher

find

La commande find, contrairement à locate va chercher le fichier au sein de l’arborescence. La syntaxe est la suivante : find répertoire -name nom_du_fichier où répertoire désigne le répertoire dans lequel on recherche le fichier, s’il on veut rechercher un fichier dans toute l’arborescence, ce qui est très long ! On peut remplacer répertoire par /, cela signifie qu’on effectue la recherche à partir de la racine et donc dans toute l’arborescence. Pour faire une recherche dans le répertoire courant on utilise le ., comme dans l’exemple suivant :

On peut effectuer une recherche dans un répertoire :

ou bien au sein de toute l’arborescence :

Lorsque l’on rechercher un répertoire on utilise la syntaxe suivante : find répertoire -type d -name nom_du_répertoire où répertoire désigne le répertoire dans lequel on recherche le fichier. Recherchons par exemple le(s) répertoire(s) commençant par Wor au sein du répertoire home.

Il existe bien évidemment d’autres options de la commande find. Je vous invite donc à consulter le manuel en ligne de commande.

which

La commande which permet de localiser une commande de votre système. Regardons l’exemple suivant : dans quel répertoire se trouve la commande lpr

Bonne recherche à tous ;-)

Répondre à cet article

SPIP | squelette | | Plan du site | Suivre la vie du site RSS 2.0