Utiliser la commande "find"

"find" est la commande utilisée pour la recherche dans une arborescence : quelques syntaxes types

, par clem

Chercher un nom de fichier ou répertoire dans une arborescence :

le caractère * est le jocker remplaçant n’importe quel caractère(s) : ici on cherche tous les fichiers ou dossiers contenant la chaîne de caractères le_nom_a_chercher

Limiter la profondeur de l’arborescence de recherche :

ici on limite à 2 niveaux de l’arborescence la recherche : (le dossier courant ./ et ses sous-dossiers).

Préciser le type d’éléments recherchés :

  • -type f : ne chercher que des fichiers
  • -type d : ne chercher que des répertoires

Exclure des répertoires/fichiers de la recherche :

le paramètre -not -path ’cache*’ permet d’exclure un ensemble de fichiers/répertoires de la recherche (ici tous les dossiers/fichiers dont le nom commence par cache)

Chercher les fichiers modifiés dans les "n" dernières minutes :

le paramètre -mmin donne le nombre de minutes depuis lequel on veut trouver les fichiers modifiés

Exécuter une commande sur chaque fichier trouvé : option -exec

Par exemple :

  • déplacer dans un dossier poubelle tous les fichiers plus vieux que 60 jours trouvé dans le dossier $chemin :
  • mettre jojo comme propriétaire des fichiers de toto trouvés dans le dossier $chemin :

Références :