TOOLinux

Le journal du Libre

Recherche de fichiers sous Linux : quels outils utiliser ?

vendredi 28 février 2020

Sous Linux, la recherche de fichiers à travers l’arborescence peut se faire via diverses commandes : find, locate, which, whereis, whatis, et apropos. Toutes ne retournent pas forcément les mêmes informations. Quelles différences ?

Recherche de fichiers sous Linux : quels outils utiliser ?

La commande FIND

La commande find est la plus ancienne. N’utilisant pas de base indexée, elle peut être longue à retourner un résultat. Pour utiliser cette commande, il convient de lui préciser un chemin et un (ou plusieurs) critère(s). Les critères peuvent être :

- -name
- -user
- -type (f pour fichier, d pour dossier…)
- -atime (date du dernier accès au fichier)
- -ctime (date du dernier changement du fichier)
- -mtime (date du dernier changement du contenu du fichier

Voici quelques exemples :

find / -name monfichier

find / -user justegeek

find /home/justegeek -atime +5

La dernière commande retournerais les fichiers du dossier /home/justegeek auxquels personne n’a accédé depuis plus de 5 jours.

La commande LOCATE

Contrairement à la commande find, la commande locate utilise une base de données. Cela permet d’obtenir un résultat plus rapide. Cette base de données est mise à jour par la cron. Mais il est possible de forcer manuellement la mise à jour de cette base avec la commande suivante :

updatedb

Il existe une version sécurisée de la commande locate, il s’agit de slocate. Cette dernière fonctionne de la même manière que locate mais prend en compte les droits des fichiers. Ainsi, l’utilisateur ne verra dans les résultats que les fichiers auxquels il a accès. Par défaut, locate est bien sûr sensible à la casse, mais si vous souhaitez ignorez la casse dans votre recherche, vous pouvez simplement utiliser le paramètre -i.

Voici quelques exemples d’utilisation de la commande locate :

locate fichier.txt

locate -c "*.txt"

Lire la suite de cet article.

Avec Justegeek