C'est quoi, find ?
find cherche des fichiers dans une arborescence selon des critères multiples : nom, type, taille, date de modification, permissions, propriétaire... Il peut aussi exécuter des actions sur les fichiers trouvés.
💡 L'analogie : find est comme un détective qui parcourt tous les dossiers à ta place, en cherchant exactement ce que tu lui demandes.
# Trouver tous les fichiers .txt
$ find . -name "*.txt"
# Sans tenir compte de la casse
$ find . -iname "readme*"
# Chercher dans /var/log
$ find /var/log -name "*.log"
Chercher par type et taille
# Seulement les fichiers (pas les dossiers)
$ find . -type f
# Seulement les dossiers
$ find . -type d
# Fichiers de plus de 100 Mo
$ find / -type f -size +100M
# Fichiers vides
$ find . -empty
Exécuter des actions sur les résultats
# Supprimer tous les fichiers .log
$ find . -name "*.log" -delete
# Exécuter une commande sur chaque résultat
$ find . -name "*.sh" -exec chmod +x {{}} \;
# Combiner avec grep pour chercher dans les fichiers
$ find . -name "*.js" -exec grep -l "TODO" {{}} \;
# Trouver les fichiers modifiés dans les 24 dernières heures
$ find /var/www -mtime -1 -type f