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