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 :

  1. find ./ -name '*le_nom_a_chercher*'

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

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

  1. find . -not -path './cache*' -mmin -60

le paramètre -mmin donne le nombre de minutes depuis lequel on veut trouver les fichiers modifiés
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)

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 :

  1. find $chemin -type f -mtime +60 -exec /bin/mv {} -t /home/poubelle \;

Références :