Commandes Linux: trouver

Un guide rapide de la commande find, utilisé pour rechercher des fichiers et des dossiers sur le système de fichiers

LefindLa commande peut être utilisée pour trouver des fichiers ou des dossiers correspondant à un modèle de recherche particulier. Il recherche récursivement.

Apprenons-le par l'exemple.

Trouvez tous les fichiers sous l'arborescence actuelle qui ont.jsextension et affichez le chemin relatif de chaque fichier correspondant:

find . -name '*.js'

Il est important d'utiliser des guillemets autour des caractères spéciaux comme*pour éviter que le shell ne les interprète.

Trouvez les répertoires sous l'arborescence actuelle correspondant au nom «src»:

find . -type d -name src

Utilisation-type fpour rechercher uniquement des fichiers, ou-type lpour rechercher uniquement des liens symboliques.

-nameest sensible à la casse. utilisation-inamepour effectuer une recherche insensible à la casse.

Vous pouvez rechercher sous plusieurs arbres racines:

find folder1 folder2 -name filename.txt

Recherchez les répertoires sous l'arborescence actuelle correspondant au nom «node_modules» ou «public»:

find . -type d -name node_modules -or -name public

Vous pouvez également exclure un chemin en utilisant-not -path:

find . -type d -name '*.md' -not -path 'node_modules/*'

Vous pouvez rechercher des fichiers contenant plus de 100 caractères (octets):

find . -type f -size +100c

Rechercher des fichiers de plus de 100 Ko mais inférieurs à 1 Mo:

find . -type f -size +100k -size -1M

Fichiers de recherche modifiés il y a plus de 3 jours

find . -type f -mtime +3

Rechercher des fichiers modifiés au cours des dernières 24 heures

find . -type f -mtime -1

Vous pouvez supprimer tous les fichiers correspondant à une recherche en ajoutant le-deleteoption. Cela supprime tous les fichiers modifiés au cours des dernières 24 heures:

find . -type f -mtime -1 -delete

Vous pouvez exécuter une commande sur chaque résultat de la recherche. Dans cet exemple, nous exécutonscatpour imprimer le contenu du fichier:

find . -type f -exec cat {} \;

remarquez la fin\;.{}est rempli avec le nom du fichier au moment de l'exécution.

Téléchargez mon gratuitManuel des commandes Linux


Plus de tutoriels cli: