Commande Linux
find
find files
"Trouver des fichiers selon n'importe quel critère. Le détective du terminal."
Recherche ⭐⭐ Intermédiaire 🔥 Très fréquente

C'est quoi, find ?

find cherche des fichiers dans une arborescence selon des critères multiples : nom, type, taille, date de modification, permissions, propriétaire... Il peut aussi exécuter des actions sur les fichiers trouvés.

💡 L'analogie : find est comme un détective qui parcourt tous les dossiers à ta place, en cherchant exactement ce que tu lui demandes.
Chercher par nom
# Trouver tous les fichiers .txt
$ find . -name "*.txt"

# Sans tenir compte de la casse
$ find . -iname "readme*"

# Chercher dans /var/log
$ find /var/log -name "*.log"

Chercher par type et taille

Type et taille
# Seulement les fichiers (pas les dossiers)
$ find . -type f

# Seulement les dossiers
$ find . -type d

# Fichiers de plus de 100 Mo
$ find / -type f -size +100M

# Fichiers vides
$ find . -empty

Exécuter des actions sur les résultats

find + action
# Supprimer tous les fichiers .log
$ find . -name "*.log" -delete

# Exécuter une commande sur chaque résultat
$ find . -name "*.sh" -exec chmod +x {{}} \;

# Combiner avec grep pour chercher dans les fichiers
$ find . -name "*.js" -exec grep -l "TODO" {{}} \;

# Trouver les fichiers modifiés dans les 24 dernières heures
$ find /var/www -mtime -1 -type f
← Précédent
ssh
Suivant →
grep