find
FichiersPaquet : findutils
Parcourt une arborescence et sélectionne des fichiers sur leurs propriétés : nom, taille, date, propriétaire, permissions. Chaque test est une option, et -exec ou -delete agit sur ce qui reste ; tester sans action d'abord.
Ce que font ses options dans les leçons
Tiré du même glossaire que les leçons affichent sous leurs commandes ; les deux ne peuvent pas se contredire.
find -type- Restreint au type indiqué :
ffichier ordinaire,drépertoire,llien symbolique. find -name- Filtre sur le nom du fichier, avec un motif du shell (
*.log). À mettre entre guillemets pour que le shell ne le développe pas lui-même. find -perm- Filtre sur les bits de permission.
-perm -4000trouve les binaires *setuid*, c'est-à-dire ceux qui s'exécutent avec les droits de leur propriétaire. find -user- Filtre sur le propriétaire du fichier.
find -xdev- Ne descend pas dans les autres systèmes de fichiers. Sans cela, une recherche depuis
/part dans/proc,/syset les montages réseau. find -exec- Exécute une commande sur chaque résultat.
{}est le chemin trouvé, et\;termine la commande. find -print- Affiche le chemin trouvé. C'est le comportement par défaut ; on l'écrit quand d'autres actions sont combinées.
find -print0- Sépare les résultats par un octet nul au lieu d'un retour à la ligne, seul caractère qu'un nom de fichier ne peut pas contenir. Avec
xargs -0, c'est ce qui fait tenir un nom contenant une espace. find -printf- Choisit le format affiché plutôt que le seul chemin.
-printf '%T@ %p\n'met la date en tête, ce qui permet de trier par ancienneté. find -mtime- Filtre sur la date de dernière modification, en jours.
-mtime +30: modifié il y a plus de 30 jours ;-mtime -2: moins de 2 jours. find -delete- Supprime les fichiers trouvés. À n'ajouter qu'après avoir lancé la même recherche avec
-printet lu la liste : la commande ne demande aucune confirmation. find -iname- Comme
-name, mais sans tenir compte de la casse.-iname "*.LOG"trouve aussierreurs.log. find -maxdepth- Limite la descente à ce nombre de niveaux.
-maxdepth 1ne regarde que le répertoire indiqué, sans entrer dans ses sous-répertoires. find -size- Filtre sur la taille.
-size +100M: plus de 100 Mio, soit environ 105 Mo —Mcompte des mébioctets. Le suffixe compte doublement, car sans lui l'unité est le bloc de 512 octets, pas l'octet. find -newermt- Modifié après la date indiquée, écrite en clair :
-newermt '2026-08-01', ou-newermt '2 hours ago'. Plus lisible que-mtimedès qu'on cherche autour d'un moment précis. find -newer- Ne garde que les fichiers modifiés après un fichier de référence.
-newer /var/lib/dpkg/statusdonne ce qui a bougé depuis la dernière opération sur les paquets. find -newerct- Compare la date de *changement d'inode* du fichier à la date indiquée, au lieu de sa date de modification. C'est la variante qui survit à un
touch -d, lequel ne règle que la seconde.
Les leçons qui l'enseignent
- Trouver des fichiersFondamentaux de Linux
- Créer et supprimer des comptesUtilisateurs, sudo et accès SSH
- Les guillemets ne sont pas facultatifsScripts Bash pour administrateurs
- Fichiers, rétention et copies distantesSauvegardes et restaurations
- Le point de contrôle périodiquePare-feu et durcissement
- Savoir ce qui a changé sur le disquePare-feu et durcissement
- Deux journaux qui disent 14:02 : l'heure n'est pas un nombreDiagnostiquer une panne : ce que chaque sortie prouve
- Jusqu'où un correctif peut aller, et le compte rendu qu'il laisseDiagnostiquer une panne : ce que chaque sortie prouve
