Comment rechercher récursivement des dossiers par nom dans un répertoire sous Linux/Ubuntu
Comment rechercher des répertoires dans Ubuntu avec la commande « Find » (rapide et simple)
Si vous avez déjà passé des heures à parcourir des dossiers pour en trouver un portant un nom spécifique, vous avez probablement maudit la lenteur des explorateurs de fichiers par défaut. C’est là que cette find
commande excelle : elle s’empare du terminal et recherche vos répertoires de manière récursive, même si cela donne l’impression de chercher une aiguille dans une botte de foin. Non, ce n’est pas magique, mais savoir utiliser cet outil vous simplifie grandement la vie, surtout lorsque vous parcourez des tonnes de fichiers et que vous ne voulez pas cliquer sans cesse. Une fois maîtrisé, vous gagnerez un temps précieux.
Étape 1 : Ouvrez le terminal
Tout d’abord, si vous n’êtes pas encore dans le terminal, il est temps de l’ouvrir. Le plus rapide est d’appuyer sur Ctrl+ Alt+ T. Terminé. Vous pouvez également rechercher « Terminal » dans le menu des applications, selon vos besoins. C’est là que la magie opère, alors installez-vous confortablement.
Étape 2 : Commande de base pour rechercher des répertoires
Pour commencer, voici une commande simple qui correspond à peu près à ce que vous devez retenir :
find.-type d -name '*yourword*'
Décomposer:
- . signifie commencer la recherche à partir de l’endroit où vous vous trouvez actuellement, et non de l’ensemble du système.
-type d
filtre les fichiers, vous ne recherchez donc que les répertoires.-name '*yourword*'
recherche les noms de dossiers contenant « votremot ».Assurez-vous de remplaceryourword
ce que vous recherchez.
Par exemple, si vous recherchez des dossiers contenant « log » dans leur nom, saisissez :
find.-type d -name '*log*'
Cela sera envoyé dans tous les sous-dossiers et vous donnera toutes les correspondances. Plutôt sympa, non ?
Étape 3 : Recherche récursive et son importance
Oui, la commande recherche automatiquement dans tous les sous-répertoires situés sous votre dossier actuel. Aucun argument supplémentaire n’est nécessaire. C’est pourquoi elle est si puissante : elle fouille en profondeur sans difficulté. Cela inclut les dossiers cachés, sauf si l’on parle de dossiers cachés au sens Unix (fichiers commençant par.).Attention, sur les systèmes très volumineux, cela peut prendre une seconde ; ne vous inquiétez donc pas si le problème persiste.
Étape 4 : Recherchez dans tout le système (mais soyez prudent)
Si vous avez besoin de trouver quelque chose n’importe où dans votre arborescence Linux, vous pouvez le modifier comme ceci :
sudo find / -type d -name '*log*' 2>/dev/null
Ici, / est la racine et va tout analyser.À cause des permissions, vous obtiendrez souvent de nombreuses erreurs « Permission refusée » ; c’est normal. L’ajout de 2>/dev/null
/ permet de masquer ces erreurs gênantes et de conserver des résultats corrects. N’oubliez pas que l’exécution en tant que sudo peut parfois entraîner d’autres problèmes ; ne le faites donc que si vous savez ce que vous faites.
Conseils supplémentaires et dépannage
- Vérifiez bien votre chaîne de recherche pour détecter les fautes de frappe. C’est ennuyeux d’exécuter une commande et de se rendre compte qu’on a oublié une lettre.
- Si vous constatez que vous êtes inondé de messages « autorisation refusée », l’ajout
sudo
peut vous aider, mais ne le faites pas à la légère à chaque fois. - Utilisez
-iname
plutôt que-name
pour les recherches insensibles à la casse, par exemplefind.-type d -iname '*Log*'
. Pratique si vous n’êtes pas sûr de la casse. - Parfois, vous souhaitez simplement mieux visualiser le résultat. Utilisez less :
find.-type d -name '*log*' | less
. De cette façon, vous pouvez faire défiler sans perdre votre position.
Conclusion
Tout find
cela change la donne si vous passez du temps à fouiller dans les répertoires. Cela vous évite de cliquer et simplifie grandement l’organisation et le dépannage. Honnêtement, c’est un peu étrange de voir à quel point certains dossiers peuvent être cachés, mais avec ces commandes, vous avez le contrôle. Et oui, c’est plutôt satisfaisant de voir cette liste apparaître ; on a l’impression de bidouiller quelque chose, même si ce n’est qu’une ligne de commande.
Questions fréquemment posées
Puis-je trouver plusieurs noms à la fois ?
Bien sûr, utilisez -o
(ou) entre parenthèses. Exemple : find.-type d \( -name '*log*' -o -name '*backup*' \)
. N’oubliez pas d’échapper les parenthèses avec des barres obliques inverses si vous utilisez Bash.
Que faire si ma recherche produit beaucoup trop de résultats ?
Insérez-le less
comme ceci : find.-type d -name '*log*' | less
. De cette façon, vous pouvez faire défiler confortablement sans perdre votre place.
Est-il find
disponible sur toutes les distributions Linux ?
Oui, presque partout. C’est un utilitaire standard, donc pas de souci. Si vous utilisez Ubuntu, il est présent par défaut.