Home page > Commandes Linux de base > La gestion des fichiers et dossiers > La recherche de fichier ou dans les fichiers

La recherche de fichier ou dans les fichiers

locate : rechercher un fichier dans un index des fichiers du système

locate permet de rechercher dans un index de fichiers créés par la commande updatedb. Il est donc nécessaire que cet index soit à jour pour trouver les fichiers récents. En général, l’index est actualisé par défaut par une tache cron dans l’ensemble des distributions à intervalle régulier.

Mettre à jour l’index (il est nécessaire d’être super utilisateur pour réaliser cette action) :

  1. sudo updatedb

Rechercher un fichier :

  1. locate nomdufichier

Si la liste des résultats affichés est trop longue vous pouvez utiliser | less pour la paginer.

find : Rechercher des fichiers sur le système en fonction de paramètres spécifiques

La commande find permet de retrouver des fichiers dans une hiérarchie spécifique de manière précise grace à une grande diversité de paramètres. Contrairement à locate qui se base sur une base de donnée mise à jour de temps à autre, find se base lui sur le système de fichier pour opérer, ce qui peut poser l’inconvénient d’être long en cas de présence de nombreux fichiers.

Pour rechercher le fichier index.html récursivement dans toute l’arborescence on utilisera la commande :

  1. find / -name index.html

Pour rechercher le fichier index.html récursivement dans l’arborescence à partir de là où l’on se trouve, on utilisera la commande :

  1. find . -name index.html

Pour rechercher le fichier index.html dans un répertoire particulier (ici /var/www/), on utilisera la commande :

  1. find /var/www -name index.html

Pour rechercher un répertoire, on ajouter l’option -type permettant de spécifier que l’on recherche un type de donnée spécifique. On utilise par exemple la commande suivante qui recherchera le répertoire www dans toute l’arborescence :

  1. find / -type d -name www

NB: le contenu de l’option -name est une expression régulière, on peut donc par exemple utiliser ww* pour tout ce qui commence par ww ou *ww pour l’inverse.

grep : rechercher un fichier à partir de son contenu

La commande suivante permet de chercher une chaîne de caractère dans les fichiers d’un dossier spécifié :

  1. grep -rn "It works" /var/www/

Ici, on recherche la chaîne de caractères "It works" dans le dossier /var/www/

  • L’option n permet d’afficher le numéro de ligne ou apparait le texte recherché;
  • L’option r permet d’effectuer cette recherche récursivement;

which : rechercher une commande dans le path

La commande which affiche le ou les chemins d’une commande particulière présente dans le PATH d’exécution de l’utilisateur en cours. Par exemple :

  1. which ps

La commande précédente doit retourner /bin/ps qui est le chemin de la commande ps.

No comments



Any message or comment?
  • (To create paragraphs, you simply leave blank lines.)

Who are you? (optional)
  • [Sign In]