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 ;-)

Dans la même rubrique

  1. Historique des commandes : history
  2. Archivage et compression de données : tar
  3. Taille du disque et de répertoire : df du
  4. Quelle est la version de mon noyau Linux : uname
  5. Comment éteindre ou redémarrer son pc : shutdown
  6. Nombre de lignes, de mots d’un fichier : wc
  7. Chronométrer une tâche : time
  8. Accéder à une page de manuel : man
  9. Lancer une commande un jour donné, à une heure donnée : at
  10. Affichage du calendrier en ligne de commande : cal
  11. Effacer l’écran et enlever certains caractères bizarres : clear reset
  12. Ouverture et fermeture de session : login, logout et password
  13. Rechercher un fichier : locate, find et which
  14. Comment synchroniser les données mémoire sur le disque : sync
  15. Télécharger de la musique et des vidéos .mp3, .wma, .avi, .mpg , divx avec google
  16. How to shut down or reboot: shutdown command
  17. SVN — Comment ignorer des fichiers ou des répertoires avec subversion ?
  18. Comment définir un timeout lors d’une tentative de connexion SSH ?
  19. phpMyAdmin : rechercher et remplacer dans une base MySQL
  20. Comment chiffrer/déchiffrer un fichier ou un répertoire sous Linux ?
  21. Trouver/déterminer les options avec lesquelles python a été compilé
  22. Trouver/déterminer la version de numpy de numpy que j’utilise
  23. Accélérer le processus de compilation et de build avec GNU make
  24. Comment faire un déni de service en BASH à l’aide de fork ?
  25. Linux Comment supprimer une imprimante en ligne de commande
  26. Linux comment se connecter à Windows via remote desktop RDP en CentOS 7 / RedHat 7
  27. Comment générer des certificats auto-signés OpenSSL sous Linux CentOs/RedHat pour Apache/httpd
  28. Programmation des actions(tâches) régulières : crontab
  29. Faire un diff sur des fichiers distants en utilisant ssh
  30. Trouver les processus consommant le plus de cpu/mémoire à l’aide de la commande ps