Apprendre Linux : Aller plus loin avec la commande find
Sous Linux, si vous cherchez un fichier ou un répertoire l'administrateur utilise la commande find.
Cette commande, puissante, permet de chercher des fichiers avec de nombreux critères :
Dans l'exemple suivant, la commande find cherche les fichiers dont l'extension est mp4 à partir de la home directory de l'utilisateur
Nous voyons donc qu'il est possible de mette * dans le nom du fichier afin de faire des recherches génériques.
Il est également possible de combiner les arguments de la commande find pour effectuer une action sur le ou les fichiers trouvés.
Cette opération se fait via la commande -exec, comme nous l'avons vu avec l'exemple sur les fichier dont la taille est supérieur à 1GO.
Aussi, la commande ci-dessous supprime les fichiers dont la taill est supérieure à 3 GO :
A noter toutefois que cette commande find peut-être particulièrement coûteuse lorsqu'il est nécessaire de scanner toute l'arborescence.
Il est possible d'ajouter l'option -xdev. En effet, cette option permet de ne pas franchir les limites du système de fichiers. Bien pratique si vous faites un find sur /.
En effet, si il existe une partition /home par exemple , find n'ira pas dedans avec l'option -xdev mais restera dans le système de fichiers courants.
- type de fichier,
- nom,
- taille,
- permission,
- propriétaires
- date de modifications.
Utilisation basique
Trouver un fichier dans un dossier à partir de son nom
1 |
find /dossier/ou/chercher -name "nom du fichier" |
1 |
find ~ -name "*.mp4" |
Trouver et lister les gros fichiers, dont la taille est supérieur à 1GO
1 |
find . -size +1G -exec ls -lh "{}" \; |
Trouver et lister les répertoire vides :
1 |
find . -type d -empty |
1 |
find . -size +3G -exec rm {} \; |
Supprimer des fichiers en fonction de leur date de dernière modification
1 |
find /var/log -name "daemon.log*" -mtime +14 -exec rm {} \; |
Lister le top 10 des gros fichiers dans un répertoire :
1 |
find . -type f -exec ls -s {} \; | sort -n -r | head -10 |
Bonjour,
Effectivement certaines de ses commandes sont intéressantes et cette page peut servir de petit « mémo » par contre j’aimerais aller plus loin, comme le dit le titre 🙂 Avez-vous prévu de l’enrichir au fil du temps ?
Bonsoir Eric,
Oui je pense utiliser cette page comme un pense bête et ajouter mes commandes au fil de l’eau.