Comment trouver un fichier sous Linux
Il existe de nombreuses façons de rechercher des fichiers sur un système Linux. Chacun vient avec ses avantages et ses inconvénients. Mais pour de meilleurs résultats, il est bon d'en connaître autant que possible.
Les programmes graphiques sont souvent livrés avec une recherche intégrée, et bien qu'ils puissent être pratiques, ils ont souvent leurs limites. C'est là que les outils de recherche de shell sont utiles, car ils ont plus de fonctionnalités à offrir.
La liste suivante vous montre les moyens les plus courants de rechercher un fichier sous Linux et inclut la syntaxe et les modèles d'utilisation de chacun des programmes.
Vous devez noter que seul le premier commander fonctionne sur des programmes graphiques, les autres sont donc des programmes shell.
Méthodes de recherche Linux
Command | Description | |
---|---|---|
1. | CTRL + F | Appelle la fonction de recherche dans la plupart des programmes GUI |
2. | trouver | Outil de recherche étendu avec des fonctionnalités puissantes |
3. | localiser | Outil de recherche rapide basé sur une base de données |
4. | grep | Puissant outil de recherche basé sur regex |
5. | qui | Utilisé pour rechercher des fichiers exécutables |
6. | où se trouve | Recherche les fichiers exécutables, leurs sources et les fichiers de page de manuel |
1. CTRL+F
Ctrl+F est une fonctionnalité standard sur la plupart des programmes graphiques pour rechercher des fichiers sur le système. Il fonctionne sur le gestionnaire de fichiers Gnome Nautilus, le gestionnaire de fichiers KDE Dolphin et Thunar, le gestionnaire de fichiers Xfce.
Il fonctionne également sur de nombreux autres programmes tels que Evince pour la lecture de fichiers .pdf, le navigateur Firefox, des programmes bureautiques comme Libre Office, et bien d'autres.
L'utilisation est simple. Lorsque vous utilisez le programme et que vous devez rechercher un fichier, appuyez simultanément sur les touches Ctrl et F de votre clavier, et une barre de recherche s'ouvre sur le programme.
2. Trouver
Lorsqu'il s'agit de rechercher des éléments sur la plate-forme Linux, find est le grand-père de tous les outils disponibles. C'est un programme polyvalent et très puissant qui prend un large éventail d'options pour le faire fonctionner dans des styles très différents.
Il y a tellement d'options, d'opérateurs et de formats d'impression pour le programme de recherche qu'il est impossible de simplement les lire et de tous les connaître. Vous devrez constamment lire les pages man et info si vous voulez apprendre le programme de recherche. Voici quelques exemples et ce qu'ils font :
man find > #read man pages trouve des entrées
info find > #read info pages find entrées
La syntaxe générale de find est la suivante :
trouver [options] [chemin…] [expression]
Là où les options font référence à ses nombreuses options, le chemin est l'endroit à partir duquel vous souhaitez commencer la recherche, et l'expression inclut les nombreux modèles de recherche et opérateurs disponibles.
Il existe cependant quelques options que vous pouvez apprendre et mémoriser rapidement, et elles sont les suivantes :
un type
Cela recherche un fichier en fonction de son type et peut inclure "f" pour un fichier normal, "d" pour un répertoire et "l" pour un lien symbolique.
find -type f -name '*.js' #trouver tous les fichiers JavaScript dans la maison de l'utilisateur
b) -nom
Comme indiqué ci-dessus, cela recherche l'occurrence du modèle donné (*.js) dans le nom du fichier.
c) -mheure
Avec l'option -mtime, vous spécifiez des critères de recherche basés sur le temps, tels que
find -mtime 7 #trouver tous les fichiers qui ont été modifiés la semaine dernière (7 jours)
d) -taille
Vous pouvez également utiliser la taille du fichier comme critère de recherche, comme
find -size +15k > #trouver tous les fichiers du répertoire personnel de plus de 15 kilo-octets
Notez que tous les arguments des options peuvent prendre des nombres – ou + pour afficher inférieur ou supérieur. Par exemple -2 pour moins de 2 et +15 pour plus de 15. Il y a tellement plus d'options et vous devriez lire les entrées "man find" et "info find" sur votre shell pour vous familiariser avec ce programme puissant.
3. Localisez
La commande locate est un autre outil de recherche impressionnant sous Linux. Elle n'est pas aussi riche en fonctionnalités que la commande find, mais elle est beaucoup plus rapide car elle utilise des entrées de base de données pour accomplir sa magie.
Localiser est également plus facile à utiliser et ne nécessite pas que vous saisissiez le chemin de recherche. Entrez simplement locate, suivi d'un modèle pour le nom du fichier et il renverra tous les fichiers qui répondent à ce modèle. Par exemple:
localisez moz > #trouver tous les fichiers qui contiennent 'moz' dans leur nom, comme mozilla
Locate propose également quelques options, telles que -i ou -ignore-case, car il s'agit par ailleurs d'un outil de recherche sensible à la casse. Par exemple:
locate -i moz > #trouver les fichiers nommés mozilla, MOZILLA et Mozilla
4. Grep
Parfois, vous pouvez connaître certains des mots contenus dans un fichier. Ainsi, alors que les commandes de recherche et de localisation peuvent ne pas convenir pour trouver un tel fichier, la commande grep, cependant, est parfaite pour le travail.
Grep signifie Global Regular Expression Print. Il accepte les regex comme arguments et peut également formater sa sortie en fonction de vos préférences. Il peut colorer les mots correspondants, imprimer leurs numéros de ligne ou imprimer uniquement le nom du fichier correspondant.
Gardez à l'esprit que grep correspond à la fois au nom du fichier et au contenu du fichier, et vous êtes également libre de fournir des modèles pour chacun. La syntaxe grep ressemble à ceci :
grep [options] fichier 'motif'
De nombreuses options sont disponibles et vous pouvez les combiner comme bon vous semble, mais vous tirerez le meilleur parti de grep si vous apprenez les regex (expressions régulières) car elles peuvent être très utiles. Les pages d'information et de manuel expliquent également très bien cela.
Voici quelques exemples de grep et ce qu'ils font :
grep 'foobar' > #trouver tous les fichiers contenant foobar dans le répertoire courant
grep -in 'foobar' > #être insensible à la casse et imprimer les numéros de ligne
grep -inr 'foobar' /home/user > #recherche récursivement tous les dossiers sous /home/user
grep -ir 'table' *.html > #trouver tous les fichiers html contenant une table dans le répertoire personnel
5. Lequel
Si, pour une raison quelconque, vous avez besoin de connaître le chemin absolu d'un fichier exécutable sous Linux, utilisez la commande which. Cela fonctionne comme ceci :
quel grep > #returns /bin/grep sur Ubuntu comme chemin absolu de grep
quel quel > #retourne /usr/bin/qui
6. Où est
Whereis est un peu comme qui, mais il renvoie des fichiers binaires, source et de page de manuel pour toute commande donnée. Voici un exemple:
où est grep > # ne renvoie que les fichiers binaires et man /bin/grep /usr/share/man/man1/grep.1.gz
Conclusion
Nous avons atteint la fin de notre recherche d'un fichier dans la liste des commandes Linux. Comme vous pouvez le voir, il existe un large éventail d'outils et d'options dans le shell. Il y a donc quelque chose pour tout le monde.
Prenez simplement votre temps pour apprendre et pratiquer avec ces outils et n'oubliez pas de lire également leurs pages d'informations et de manuel. Avant longtemps, vous deviendrez très efficace avec les recherches de fichiers sur Linux.