Remarque : Cet article a été initialement publié en 2013. Certaines étapes, commandes ou versions de logiciels peuvent avoir changé. Consultez la documentation actuelle des Man Pages pour les informations les plus récentes.

Dans ce guide étape par étape, vous apprendrez à rechercher un fichier sous Ubuntu avec des critères complexes (ou non).

Comment rechercher un fichier sous Ubuntu avec des critères complexes (ou non)

Parfois vous devez trouver un fichier et tout ce que vous connaissez est l’extension ou le début du nom du fichier. Une recherche puissante et flexible pour chercher dans tous les sous-répertoires les fichiers correspondant à un critère est importante. Ubuntu est fourni avec une telle commande qui vous permet soit de rechercher un nom de fichier exact, soit d’utiliser un caractère générique pour spécifier un critère. Nous ne couvrirons que les bases, mais sachez que la commande find dispose de plus d’options pour spécifier des critères plus précis si vous le souhaitez.

Les utilisateurs Windows trouveront que la commande find est celle qui ressemble le plus à la commande dir (que je continue d’essayer d’utiliser même si je ne suis pas sur un Windows Server ici… lol).

Voici la syntaxe : find

find / -type f -iname "MonFichier.Ext" est utilisé lorsque vous connaissez le nom exact. Remplacez MonFichier.Ext par votre nom de fichier.

find / -type f -iname "MonFich*" si vous souhaitez faire correspondre plus de fichiers avec un caractère générique.

Évitez l’option -type si vous souhaitez rechercher des répertoires, etc.

Voici quelques exemples pour vous aider à utiliser find dans des scénarios courants :

Scénarios basiques :

I. Trouver tous les fichiers Zip dans un répertoire

find /home -name '*.zip'

II. Trouver tous les fichiers MP3 et AAC dans un répertoire

find /home/MyMusic -name '*.mp3' -o -name '*.aac'

III. Trouver tous les fichiers MP3 et AAC dans un répertoire avec une recherche insensible à la casse

find /home/MyMusic -iname '*.Mp3' -o -iname '*.aAc'

Scénarios avec critères combinés :

IV. Trouver tous les films qui utilisent plus de 500 Mo d’espace

find /home/ -iname '*.avi' -o -iname '*.mpeg' -a -size +500M

V. Trouver toutes les sauvegardes volumineuses effectuées au cours des 2 dernières semaines

find /home/ -iname '*.zip' -o -iname '*.bak' -a -size +300M -mtime -14

Rediriger la sortie pour agir sur les résultats

Dans les exemples suivants, veuillez noter ce qui suit :

  • ’{}’ correspond au fichier trouvé
  • ’ ;’ termine l’instruction exec. Notez qu’il y a un espace avant le tiret.

VI. Trouver tous les répertoires et définir leurs permissions à 755

find /usr/share/MyWPSite/ -type d -exec chmod 755 {} \;

VII. Trouver tous les fichiers et définir leurs permissions à 644

find /usr/share/MyWPSite/ -type f -exec chmod 644 {} \;

VIII. Trouver toutes les sauvegardes volumineuses (supérieures à 300 Mo) de plus de 14 jours et les déplacer vers un nouveau dossier

find /home/ -iname '*.zip' -o -iname '*.bak' -a -size +300M -mtime +14 -exec mv '{}' /my/archive/backups/ \;


Voici une copie de la page man pour find :

FIND(1)								       FIND(1)

NOM

       find - rechercher des fichiers dans une hiérarchie de répertoires

SYNOPSIS

       find

DESCRIPTION

       Cette page de manuel documente la version GNU de find. GNU find parcourt
       l'arborescence de répertoires enracinée à chaque nom de fichier donné en évaluant
       l'expression donnée de gauche à droite, selon les règles de précédence
       (voir la section OPÉRATEURS), jusqu'à ce que le résultat soit connu (le côté
       gauche est faux pour les opérations et, vrai pour ou), moment auquel
       find passe au nom de fichier suivant.

       Si vous utilisez find dans un environnement où la sécurité est importante
       (par exemple si vous l'utilisez pour parcourir des répertoires accessibles en écriture
       par d'autres utilisateurs), vous devriez lire le chapitre "Security Considerations"
       de la documentation findutils, qui s'appelle Finding Files et est fourni
       avec findutils. Ce document inclut beaucoup plus de détails et
       de discussion que cette page de manuel, vous pourriez donc le trouver comme
       une source d'information plus utile.

Résumé

Vous avez appris avec succès à rechercher un fichier sous Ubuntu avec des critères complexes (ou non). Si vous rencontrez des problèmes, vérifiez les prérequis et assurez-vous que votre environnement Man Pages est correctement configuré.

Articles connexes