Math-Linux.com

Knowledge base dedicated to Linux and applied mathematics.

Accueil > Linux > Commande du jour > Rechercher un fichier : locate, find et which

Rechercher un fichier : locate, find et which

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

nadir@ipower:~$ locate article1.tex
/home/nadir/Desktop/Work/Article1/article1.tex

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 :

nadir@ipower:~$ find . -name article1.tex
./Desktop/Work/Article1/article1.tex

On peut effectuer une recherche dans un répertoire :

nadir@ipower:~$ find /home/nadir/ -name article1.tex
/home/nadir/Desktop/Work/Article1/article1.tex

ou bien au sein de toute l’arborescence :

nadir@ipower:~$ find / -name article1.tex
/home/nadir/Desktop/Work/Article1/article1.tex

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.

nadir@ipower:~$ find /home/ -type d -name Wor*
/home/nadir/Desktop/Work

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

nadir@ipower:~$ which lpr
/usr/bin/lpr

Bonne recherche à tous ;-)

Un message, un commentaire ?

comments powered by Disqus