Il s’agit d’un article classique écrit par Jack Wallen du Linux.com les archives. Pour plus d’excellents conseils et techniques sur SysAdmin, consultez notre cours d’introduction à Linux.

Il va sans dire que tout bon environnement de bureau Linux offre la possibilité de rechercher des fichiers et des dossiers dans votre système de fichiers. Si votre bureau par défaut ne le fait pas, car il s’agit de Linux, vous pouvez toujours installer une application pour faciliter la recherche dans la hiérarchie de vos répertoires.

Mais qu’en est-il de la ligne de commande ? S’il vous arrive de travailler fréquemment en ligne de commande ou si vous administrez des serveurs Linux sans interface graphique, vers qui vous tournez-vous lorsque vous devez localiser un fichier ? Heureusement, Linux a exactement ce dont vous avez besoin pour localiser les fichiers en question, intégrés directement dans le système.

La commande en question est trouver. Pour rendre la compréhension de cette commande encore plus attrayante, une fois que vous la connaissez, vous pouvez commencer à l’intégrer à vos scripts Bash. Ce n’est pas seulement la commodité, c’est le pouvoir.

Mettons-nous au courant avec la commande find afin que vous puissiez prendre le contrôle de la localisation des fichiers sur vos serveurs et postes de travail Linux, sans avoir besoin d’une interface graphique.

Publicité

Comment utiliser la commande find

Lorsque j’ai aperçu Linux pour la première fois, en 1997, je ne comprenais pas très bien comment fonctionnait la commande find ; par conséquent, il n’a jamais semblé fonctionner comme je m’y attendais. Cela semblait simple ; émettre la commande trouver FILENAME (où FILENAME est le nom du fichier) et la commande était censée localiser le fichier et faire rapport. Je ne savais pas qu’il y avait plus à la commande que cela. Beaucoup plus.

Si vous lancez la commande homme trouve, vous verrez la syntaxe du trouver la commande est :

trouver [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point…] [expression]

Naturellement, si vous n’êtes pas familier avec le fonctionnement de l’homme, vous pourriez être confus ou dépassé par cette syntaxe. Pour faciliter la compréhension, simplifions cela. La syntaxe la plus basique d’une commande de recherche de base ressemblerait à ceci :

find /path option nom de fichier

Maintenant, nous allons le voir au travail.

Rechercher par nom

Décomposons cette commande de base pour la rendre aussi claire que possible. La structure la plus simpliste de la commande find devrait inclure un chemin d’accès au fichier, une option et le nom de fichier lui-même. Vous pensez peut-être : « Si je connais le chemin d’accès au fichier, je saurais déjà où le trouver ! ». Eh bien, le chemin du fichier pourrait être la racine de votre lecteur ; donc / serait un chemin légitime. Entrer cela car votre chemin prendrait plus de temps à traiter – car il doit repartir de zéro – mais si vous n’avez aucune idée de l’emplacement du fichier, vous pouvez commencer à partir de là. Au nom de l’efficacité, il est toujours préférable d’avoir au moins une idée par où commencer la recherche.

Le bit suivant de la commande est l’option. Comme pour la plupart des commandes Linux, vous disposez d’un certain nombre d’options. Cependant, nous commençons depuis le début, alors simplifions les choses. Étant donné que nous essayons de trouver un fichier par son nom, nous utiliserons l’une des deux options suivantes :

nom – sensible à la casse

iname – insensible à la casse

N’oubliez pas que Linux est très particulier en matière de casse, donc si vous recherchez un fichier nommé Linux.odt, la commande suivante ne renverra aucun résultat.

find / -name linux.odt

Si, toutefois, vous deviez modifier la commande en utilisant l’option -iname, la commande find localiserait votre fichier, quelle que soit la casse. La nouvelle commande ressemble donc à :

trouver / -iname linux.odt

Rechercher par type

Et si vous n’êtes pas si préoccupé par la localisation d’un fichier par son nom, mais que vous préfériez localiser tous les fichiers d’un certain type ? Certains des descripteurs de fichiers les plus courants sont :

f – fichier régulier

d – répertoire

l – lien symbolique

c – dispositifs de caractères

b – bloquer les appareils

Maintenant, supposons que vous souhaitiez localiser tous les périphériques de bloc (un fichier faisant référence à un périphérique) sur votre système. Avec l’aide du -taper option, nous pouvons le faire comme ceci:

trouver / -type c

La commande ci-dessus entraînerait un grand nombre de sorties (une grande partie indiquant une autorisation refusée), mais inclurait une sortie similaire à :

/dev/hiddraw6
/dev/hiddraw5
/dev/vboxnetctl
/dev/vboxdrvu
/dev/vboxdrv
/dev/dmmidi2
/dev/midi2
/dev/kvm

Voilà ! Bloquer les appareils.

Nous pouvons utiliser la même option pour nous aider à rechercher des fichiers de configuration. Supposons, par exemple, que vous souhaitiez localiser tous les fichiers normaux qui se terminent par l’extension .conf. Cette commande ressemblerait à quelque chose comme :

find / -type f -name « *.conf »

La commande ci-dessus traverserait toute la structure de répertoires pour localiser tous les fichiers normaux se terminant par .conf. Si vous savez que la plupart de vos fichiers de configuration sont hébergés dans /etc, vous pouvez le spécifier comme ceci :

find /etc -type f -name « *.conf »

La commande ci-dessus liste tous vos fichiers .conf de /etc (Figure 1).

Figure 1 : Localisation de tous vos fichiers de configuration dans /etc.

Sortie des résultats dans un fichier

Une astuce très pratique consiste à afficher les résultats de la recherche dans un fichier. Lorsque vous savez que la sortie peut être importante, ou si vous souhaitez passer au peigne fin les résultats plus tard, cela peut être incroyablement utile. Pour cela, nous utiliserons le même exemple que ci-dessus et dirigerons les résultats dans un fichier appelé recherche_conf. Cette nouvelle commande ressemblerait à : ​

find /etc -type f -name « *.conf » > conf_search

Vous aurez maintenant un fichier (recherche_conf) qui contient tous les résultats de la commande find émise.

Recherche de fichiers par taille

Nous arrivons maintenant à un moment où la commande find devient incroyablement utile. J’ai eu des cas où des ordinateurs de bureau ou des serveurs ont trouvé leurs disques mystérieusement remplis. Pour libérer rapidement de l’espace (ou aider à localiser le problème), vous pouvez utiliser la commande find pour localiser des fichiers d’une certaine taille. Supposons, par exemple, que vous souhaitiez agrandir et localiser des fichiers de plus de 1 000 Mo. La commande find peut être émise, à l’aide du -Taille option, comme ceci :

trouver / -taille +1000 Mo

Vous pourriez être surpris du nombre de fichiers qui apparaissent. Avec la sortie de la commande, vous pouvez parcourir la structure de répertoires et libérer de l’espace ou dépanner pour découvrir ce qui remplit mystérieusement votre lecteur.

Vous pouvez rechercher avec les descriptions de tailles suivantes :

c – octets

k – kilo-octets

M – Mégaoctets

G – Gigaoctets

b – blocs de 512 octets

Continue d’apprendre

Nous n’avons fait qu’effleurer la surface de la commande find, mais vous avez maintenant une compréhension fondamentale de la façon de localiser des fichiers sur vos systèmes Linux. Assurez-vous d’émettre la commande homme trouve pour acquérir une connaissance plus approfondie et plus complète de la façon de faire fonctionner cet outil puissant pour vous.

La poste Classic SysAdmin : Comment rechercher des fichiers à partir de la ligne de commande Linux est apparu en premier sur Fondation Linux.


Rate this post
Publicité
Article précédentDes chercheurs découvrent un moyen de contrôler les zones du cerveau avec des faisceaux lumineux
Article suivantComment bloquer les attaques par force brute SSH à l’aide de SSHGUARD
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici