la commande find sous linux
30 nov. 2024- présentation
La commande find sous Linux est un outil puissant permettant de rechercher des fichiers et des répertoires dans un système de fichiers selon divers critères tels que le nom, la taille, la date de modification, le type, les permissions, etc
- Syntaxe de la commande :
Find [chemin] [options] [expression]
Chemin : le répertoire à partir duquel commencer la recherche
Options : diverses options pour personnaliser la recherche.
Expression : critères spécifiques pour filtrer les résultats tels que le nom de fichier, le type, les permissions, la taille, etc.
- Principales options :
option | description |
-name | Recherche par nom(sensible à la case) |
-iname | Recherche par nom (insensible à la case) |
-type | Recherche par type ( f = fichier ; d= répertoire) |
-size | Recherche par taille |
-mtime | Recherche par date de modification (en jours) |
-perm | Recherche par permission ex : -perm 755 |
-user | Recherche les fichiers appartenant à un user donné |
-exec | Exécuter une commande sur les fichiers trouvés |
-delete | Supprimer les fichiers trouvés ( à utiliser avec prudence) |
- Démonstration :
. Trouver des fichiers par nom
Trouvez tous les fichiers nommés test.txt dans le répertoire /home.
Explication :
/home : répertoire de recherche
-name "test.txt" : recherche des fichiers avec le nom exact.
. Rechercher des fichiers avec des extensions spécifiques :
Trouvez tous les fichiers avec l'extension .log dans /var/log.
. Trouver des répertoires
Trouvez tous les répertoires nommés backup dans / .
. Rechercher par taille
Trouvez tous les fichiers de plus de 50 Mo dans /home.
-size +50M : recherche les fichiers de taille supérieure à 50 mégaoctets.
. Rechercher par utilisateur
Trouvez tous les fichiers appartenant à l’utilisateur alice dans /projet
. Trouver des fichiers modifiés récemment
Trouvez tous les fichiers modifiés au cours des 7 derniers jours dans /var/www
-mtime -7 : recherche des fichiers modifiés au cours des 7 derniers jours.
. Trouver et exécuter une commande sur les résultats
Supprimez tous les fichiers .tmp dans /tmp
-exec rm -f {} \; : exécute la commande rm-f sur chaque fichier trouvé.