Recherche de site Web

Comment rechercher des fichiers par nom ou extension sous Linux


Plusieurs fois, nous nous retrouvons dans une situation où nous devons rechercher plusieurs fichiers avec des extensions différentes, ce qui est un scénario courant pour de nombreux utilisateurs de Linux, en particulier lorsqu'ils travaillent dans le terminal.

Il existe plusieurs utilitaires Linux que nous pouvons utiliser pour localiser des fichiers sur le système de fichiers, mais trouver des fichiers avec plusieurs extensions peut parfois s'avérer délicat et nécessiter des commandes spécifiques.

L'un des nombreux utilitaires permettant de localiser des fichiers sur un système de fichiers Linux est l'utilitaire de recherche. Dans ce guide pratique, nous passerons en revue quelques exemples d'utilisation de find pour nous aider à localiser plusieurs noms de fichiers à la fois.

Avant de plonger dans les commandes réelles, regardons une brève introduction à l'utilitaire Linux `find`.

Introduction à la commande find

La commande find est un outil polyvalent utilisé pour rechercher des fichiers et des répertoires dans un système de fichiers Linux.

La syntaxe la plus simple et la plus générale de l'utilitaire find est la suivante :

find directory options [expression]

Voici un bref aperçu de ses composants :

  • répertoire : répertoire dans lequel vous souhaitez démarrer la recherche.
  • options : paramètres supplémentaires pour affiner votre recherche.
  • expression : conditions permettant de faire correspondre des fichiers ou des répertoires.

Passons à quelques exemples de commande find sous Linux.

Recherche de plusieurs extensions de fichiers

Pour rechercher des fichiers avec des extensions différentes, vous pouvez utiliser l'option -name combinée à l'opérateur -o (OR), qui vous permet de spécifier plusieurs modèles pour correspondre à différents types de fichiers.

Passons en revue quelques exemples pour illustrer comment cela fonctionne.

Exemple 1 : recherche de fichiers .sh et .txt

En supposant que vous souhaitiez rechercher tous les fichiers du répertoire actuel portant les extensions de fichier .sh et .txt, vous pouvez le faire en exécutant la commande ci-dessous :

find . -type f \( -name "*.sh" -o -name "*.txt" \)

Interprétation de la commande ci-dessus :

  • . signifie le répertoire courant
  • L'option -type est utilisée pour spécifier le type de fichier et ici, nous recherchons des fichiers normaux représentés par f
  • L'option -name est utilisée pour spécifier un modèle de recherche dans ce cas, les extensions de fichier
  • -o signifie « OU »

Il est recommandé de placer les extensions de fichier entre crochets et d'utiliser également le caractère d'échappement \ ( barre oblique inverse) comme dans la commande.

Exemple 2 : recherche de fichiers .sh, .txt et .c

Pour trouver trois noms de fichiers avec les extensions .sh, .txt et .c, exécutez la commande ci-dessous :

find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)

Exemple 3 : Recherche de fichiers .png, .jpg, .deb et .pdf

Voici un autre exemple où nous recherchons des fichiers avec les extensions .png, .jpg, .deb et .pdf. :

find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)

Exemple 4 : Utilisation de caractères génériques pour rechercher

Vous pouvez également utiliser des caractères génériques pour faire correspondre des modèles. Par exemple, pour rechercher tous les fichiers avec les extensions .log, .txt ou .cfg :

find /var/log/ -type f \( -name "*.log" -o -name "*.txt" -o -name "*.cfg" \)

Exemple 5 : Recherche de fichiers avec des modèles complexes

Supposons que vous souhaitiez rechercher des fichiers se terminant par .tar.gz ou .zip :

find /path/to/search/ -type f \( -name "*.tar.gz" -o -name "*.zip" \)

Lorsque vous observez d'un œil critique toutes les commandes ci-dessus, la petite astuce consiste à utiliser l'option -o dans la commande find, elle vous permet d'ajouter plus de noms de fichiers au tableau de recherche, et connaissez également les noms de fichiers ou les extensions de fichiers que vous recherchez.

Conclusion

Dans ce guide, nous avons expliqué comment utiliser la commande find pour rechercher des fichiers avec plusieurs extensions. En utilisant l'option -name en combinaison avec l'opérateur -o, vous pouvez facilement localiser les fichiers qui correspondent à différents modèles en une seule commande.

Pour approfondir la commande find et ses nombreuses fonctionnalités, vous pouvez vous référer à la page de manuel find en tapant man find dans votre terminal.

man find

N'hésitez pas à expérimenter ces commandes et à les adapter à vos besoins spécifiques !