abonnel-siteweb/data/pages/informatique/linux/commandes/find.txt

37 lines
2.3 KiB
Plaintext

====== find ======
{{ :dummy.png?75x75|}}
La commande **find** sous Linux est utilisée pour rechercher des fichiers et des répertoires dans une hiérarchie de fichiers. Elle est souvent utilisée pour trouver des fichiers en fonction de leur nom, de leur type, de leur taille, de leur date de modification, de leur propriétaire ou de leurs permissions.
La commande **find** est très puissante et flexible, elle permet de trouver des fichiers dans toute la hiérarchie de fichiers à partir du répertoire spécifié en paramètre.
--
Par exemple, si vous voulez trouver tous les fichiers portant le nom ''exemple.txt'' dans votre répertoire personnel et ses sous-répertoires, vous pouvez utiliser la commande :
<code BASH>
find ~/ -name exemple.txt
</code>
Cette commande cherchera tous les fichiers portant le nom ''exemple.txt'' dans le répertoire personnel et ses sous-répertoires, et affichera leur chemin absolu.
--
Pour chercher un fichier avec **find** dont le nom contient "HDR", vous pouvez utiliser l'option ''-name'' suivi d'un motif de recherche qui inclut la chaîne de caractères "HDR". Par exemple :
<code>
find . -type f -name *HDR*
</code>
Dans cet exemple, ''.'' est le chemin courant dans lequel vous voulez rechercher le fichier. L'astérisque (*) est utilisé pour représenter tout texte qui peut se trouver avant et après "HDR" dans le nom du fichier. Cela permet de rechercher tous les fichiers dont le nom contient la chaîne de caractères "HDR", quelle que soit leur position dans le nom.
Si vous voulez supprimer ces fichiers, vous pouvez utiliser la commande ''rm'' avec l'option ''-f'' pour supprimer les fichiers sans confirmation :
<code>
find . -type f -name *HDR* -exec rm -f {} \;
</code>
Cette commande supprime tous les fichiers trouvés. L'option ''-exec'' permet d'exécuter la commande **rm** pour chaque fichier trouvé, et ''{}'' est remplacé par le nom de chaque fichier. L'option ''-f'' permet de supprimer les fichiers sans confirmation. Le ''\;'' indique la fin de la commande à exécuter pour chaque fichier.
Cependant, soyez très prudent lors de l'utilisation de la commande **rm**, car une fois les fichiers supprimés, il est très difficile de les récupérer. Vérifiez deux fois avant de lancer cette commande, ou assurez-vous que vous avez une sauvegarde des fichiers importants.