Navigation rapide : Lundi / Mardi / Mercredi / Jeudi / Vendredi
La commande find est orientée recherche de fichier (selon des critères définis) et permet d'effectuer des “actions” en conséquence sur les fichiers vérifiant certains “critères”. La syntaxe de la commande est la suivante :
find <chemin> <criteres> <actions>
les critères de recherches sont examinés en séquence. Il est possible de les regrouper avec des opérateurs booléens : -o -a ! et \( \)
Options de la ligne de commande | Description |
---|---|
-name <filename> | Nom des fichiers correspondent à <filename> (possibilité d'utiliser des caractères joker) |
-iname <filename> | Nom des fichiers correspondent à <filename>, en ignorant la casse (possibilité d'utiliser des caractères joker) |
-type <t> | Type de fichier à chercher selon <t> (d pour répertoire, f pour fichier, l pour lien, s pour socket |
-user <user> | Fichier dont le propriétaire correspond à <user> (nom ou numéro d'utilisateur) |
-group <grp> | Fichier dont le groupe correspond à <grp> (nom ou numéro de groupe) |
-size -<sz><unit> | Fichier dont la taille est inférieure à <sz> kilo-octects avec k mis pour <unit> (mettre <unit> à G pour des giga-octects) |
-size +<sz><unit> | Fichier dont la taille est supérieure à <sz> kilo-octects avec k mis pour <unit> (mettre <unit> à G pour des giga-octects) |
-atime +<nbh> | Fichier ayant été accédé depuis plus de <nbh> heures |
-atime -<nbh> | Fichier ayant été accédé depuis moins de <nbh> heures |
-mtime +<nbh> | Fichier ayant été modifié depuis plus de <nbh> heures |
-mtime -<nbh> | Fichier ayant été modifié depuis moins de <nbh> heures |
-executable | Fichier marqué comme exécutable |
-depth | Le contenu du répertoire avant le répertoire lui même |
-mount | ne quitte pas le file système de path |
Argument de la ligne de commande | Description |
---|---|
Affiche le nom des fichiers trouvés (un par ligne) | |
-delete | Supprime le fichier |
-exec <cmd> <arg1> … <argN> ; | Exécute la commande <cmd> et ses arguments pour chaque fichier trouvé. Si un des arguments vaut {}, find le remplace par le nom du fichier trouvé |
-exec <cmd> <arg1> … <argN> {} + | Exécute la commande <cmd> avec ses arguments et y ajoute la liste des fichiers trouvés |
-Trouver les fichiers modifiés il y a moins d'une heure dans le répertoire d'accueil de bob
1: find /home/bob -type f -mtime -1
-Trouver les liens du répertoire /usr/lib
1: find /usr/lib -type l
-Supprimer les sauvegardes emacs ou les fichiers temporaires dans le répertoire src
1: find src -type f \( -name '*~' -o -name "#*#" \) -delete
-Supprimer les fichiers core en les affichant datant de plus d'une semaine de l'arborescence des utilisateurs
1: find /home -name "core.[0-9][0-9]*" -atime +7d -exec rm {} \; -print
-Compter les lignes des fichiers sources C d'un répertoire src
1: find src -type f -name '*.c' -exec wc -l {} \;
-Rechercher les appels à la fonction malloc() dans les sources C d'un répertoire src
1: find src -name '*.c' -exec grep -Hn 'malloc(' {} \+
-Rechercher dans les poubelles des utilisateurs les fichiers ou répertoires ayant plus d'un mois et les détruire
1: cd /home ; find */.Trash/* -depth 0 \( -type f -o -type d \) -mtime +1m -exec rm -r {} \; -print