Rechercher un fichier avec find

Pour chercher un fichier dans le file system de son serveur, il existe l’utilitaire “find” Mais cet utilitaire peut faire plus que de la simple recherche.

Rechercher un fichier :

 > $ **find _/path_ -name "_patern_"**

Où les paramètres suivants sont utilisés :

  • path : défini le chemin de départ de la recherche. A adapter en fonction de ses droits. Par exemple, il ne sera pas possible de chercher dans / en entier sans être root.
  • patern : défini la recherche, c’est-à-dire l’élément de fichier recherché.

Note : il existe un utilitaire beaucoup plus efficace pour effectuer des recherches : mlocate.

Purger des fichiers selon une date :

L’utilitaire “find” n’est pas forcement le meilleur pour faire des recherches rapides de fichiers, mais il peut être pratique pour purger des fichiers par exemple. Ainsi dans un script pour purger des fichiers de sauvegardes par exemple, nous utiliserons une purge des fichiers de plus de 30 jours.

 > $ **find _/path_ -name "_patern_" -type f -mtime _+day_ -delete**

Où les paramètres suivants sont utilisés :

  • path : défini le chemin de départ de la recherche. A adapter en fonction de ses droits. Par exemple, il ne sera pas possible de chercher dans / en entier sans être root.
  • patern : défini la recherche, c’est-à-dire l’élément de fichier recherché.
  • +day : indique le nombre de jour où les fichiers plus anciens seront supprimés

Note : Il est possible d’utiliser “-mmin” pour définir le temps en minute

Par exemple :

 > $ **find /save -name "backup\*" -type f -mtime +30 -delete** 

permet de supprimer les fichiers qui commencent par “backup”, qui sont stockés dans “/save” et qui ont plus de 30 jours.

Pour aller plus loin :

Il y a de nombreuses autres possibilités de manipulation de fichiers avec cet utilitaire. Faire find –help pour plus d’information.

 > $ **find --help**