find
Fichiers et répertoires
Syntaxe
find [path] -name '[pattern]' -type fParcourt une arborescence en testant chaque entrée ; mettez le motif entre guillemets, -name '*.log', sinon le shell l'étend avant find.
Options courantes
| Option | Signification |
|---|---|
| -name | Match the file name, case sensitive; -iname ignores case |
| -type | Restrict to f (file), d (directory) or l (symlink) |
| -size | Filter by size, as in -size +100M |
| -mtime | Filter by age in days, as in -mtime +7 |
| -maxdepth | Limit how deep to walk; GNU wants it before the tests |
| -delete | Delete every match, no confirmation |
| -exec | Run a command on each hit, ending with \; or + |
| -print0 | Separate results with NUL, to pair with xargs -0 |
Exemples
find . -name '*.log' -mtime +7 -deleteDeletes log files older than a week.
find / -type f -size +1G 2>/dev/nullFinds files over a gigabyte, hiding permission errors.
find . -name '*.jpg' -exec mv {} photos/ +Moves every JPEG it finds.
Déplacer, supprimer, trouver. Certains ne demandent pas confirmation, et c’est pour ça que -i devient un réflexe.
Comment lire
- Les crochets [ ] marquent une partie facultative.
- Les points de suspension … signifient qu’on peut en mettre plusieurs.
- Les options sont sensibles à la casse : sur certaines commandes, -r et -R ne font pas la même chose.
Questions fréquentes
Q. Que fait find ?
Parcourt une arborescence en testant chaque entrée ; mettez le motif entre guillemets, -name '*.log', sinon le shell l'étend avant find.
Q. Comment l’écrire ?
find [path] -name '[pattern]' -type f — les crochets marquent ce qui est facultatif.
Q. Combien d’options valent la peine ?
Il y en a 8 ici ; la liste complète est dans man find. Cette commande relève de Fichiers et répertoires.
Commandes liées
page man: man find