Recherche de fichiers/commandes Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans les systèmes Linux, localiser efficacement les fichiers et les commandes est une compétence essentielle pour tous les utilisateurs. Lorsque vous travaillez avec le terminal, vous avez souvent besoin de trouver où les programmes sont installés, où accéder à leur documentation ou où les fichiers de configuration sont stockés.

Ce laboratoire (LabEx) se concentre sur la commande whereis, un outil puissant qui permet de localiser les fichiers binaires, le code source et les pages de manuel des commandes dans Linux. En apprenant à utiliser efficacement cette commande, vous pourrez naviguer dans le système de fichiers Linux avec plus de confiance et améliorer votre productivité.

Au cours de ce laboratoire (LabEx), vous apprendrez diverses façons d'utiliser la commande whereis pour trouver différents composants des commandes Linux, vous donnant ainsi des compétences pratiques qui seront précieuses dans votre parcours Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicSystemCommandsGroup -.-> linux/man("Manual Access") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cp("File Copying") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/whereis("File/Command Finding") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/man -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} linux/ls -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} linux/cp -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} linux/mv -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} linux/cd -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} linux/whereis -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} linux/grep -.-> lab-271441{{"Recherche de fichiers/commandes Linux"}} end

Comprendre la commande whereis

La commande whereis dans Linux est conçue pour localiser les fichiers binaires, les fichiers sources et les pages de manuel d'une commande. Cela est particulièrement utile lorsque vous avez besoin de trouver où un programme est installé ou où sa documentation est stockée.

Commençons par explorer le fonctionnement de la commande whereis. Tout d'abord, assurez-vous d'être dans le répertoire du projet :

cd ~/project

Pour mieux comprendre la commande whereis, examinons son information d'aide :

whereis --help

Vous devriez voir une sortie similaire à ce qui suit, montrant les diverses options disponibles avec la commande whereis :

Usage:
 whereis [options] [-BMS <dir>... -f] <name>...

Locate the binary, source, and manual page files for a command.

Options:
 -b         search only for binaries
 -B <dirs>  define binaries lookup path
 -m         search only for manuals and infos
 -M <dirs>  define man and info lookup path
 -s         search only for sources
 -S <dirs>  define sources lookup path
 -f         terminate <dirs> argument list
 -u         search for unusual entries
 -l         output effective lookup paths

For more details see whereis(1).

Cette sortie explique que whereis peut être utilisé pour trouver les fichiers binaires (fichiers exécutables), les fichiers sources et les pages de manuel des commandes. Elle montre également les diverses options que vous pouvez utiliser pour affiner votre recherche.

Trouver les exécutables binaires avec whereis

Sous Linux, les exécutables binaires sont les programmes compilés prêts à être exécutés depuis le terminal. Ils sont généralement stockés dans des répertoires tels que /usr/bin, /bin ou /usr/local/bin.

Utilisons la commande whereis pour trouver l'emplacement de certaines commandes Linux couramment utilisées.

Tout d'abord, trouvons le binaire de la commande grep, qui est utilisée pour rechercher des motifs dans des fichiers :

whereis grep

Vous devriez voir une sortie similaire à :

grep: /usr/bin/grep /usr/share/man/man1/grep.1.gz

Cette sortie vous indique deux choses importantes :

  • L'exécutable binaire de grep se trouve à /usr/bin/grep
  • La page de manuel de grep se trouve à /usr/share/man/man1/grep.1.gz

Si vous n'êtes intéressé que par la localisation de l'exécutable binaire et non par les pages de manuel ou les fichiers sources, vous pouvez utiliser l'option -b :

whereis -b grep

La sortie montrera uniquement l'emplacement du binaire :

grep: /usr/bin/grep

Maintenant, trouvons l'emplacement d'une autre commande courante, ls, qui est utilisée pour lister le contenu d'un répertoire :

whereis ls

Vous devriez voir une sortie similaire à :

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

Cela montre que le binaire de la commande ls se trouve dans /usr/bin/ls et que sa page de manuel se trouve à /usr/share/man/man1/ls.1.gz.

La commande whereis recherche ces fichiers dans des chemins prédéfinis. Ces chemins incluent généralement les emplacements standard où Linux stocke les binaires, les pages de manuel et les fichiers sources.

Trouver les pages de manuel avec whereis

Les pages de manuel (man pages) fournissent la documentation des commandes et des programmes sous Linux. Elles contiennent des informations détaillées sur la façon d'utiliser une commande, les options disponibles et des exemples d'utilisation courante.

La commande whereis peut vous aider à localiser ces pages de manuel en utilisant l'option -m. Voyons comment trouver les pages de manuel de diverses commandes.

Tout d'abord, trouvons la page de manuel de la commande find, qui est utilisée pour rechercher des fichiers dans une hiérarchie de répertoires :

whereis -m find

Vous devriez voir une sortie similaire à :

find: /usr/share/man/man1/find.1.gz

Cela montre que la page de manuel de la commande find se trouve à /usr/share/man/man1/find.1.gz.

Les pages de manuel sous Linux sont généralement stockées dans le répertoire /usr/share/man, organisées en sections numérotées :

  • Section 1 : Commandes utilisateur (programmes exécutables ou commandes shell)
  • Section 2 : Appels système (fonctions fournies par le noyau)
  • Section 3 : Appels de bibliothèque (fonctions au sein des bibliothèques de programmes)
  • Section 4 : Fichiers spéciaux (généralement trouvés dans /dev)
  • Section 5 : Formats de fichiers et conventions
  • Section 6 : Jeux
  • Section 7 : Divers
  • Section 8 : Commandes d'administration système

La plupart des commandes couramment utilisées ont leurs pages de manuel dans la section 1, c'est pourquoi vous verrez souvent des noms de fichiers se terminant par .1.gz (fichiers compressés de la section 1).

Trouvons la page de manuel de la commande passwd, qui est utilisée pour changer le mot de passe d'un utilisateur :

whereis -m passwd

Vous pourriez voir une sortie similaire à :

passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

Remarquez que passwd a des pages de manuel dans deux sections différentes - la section 1 pour la commande elle-même et la section 5 pour le format du fichier de mot de passe.

Vous pouvez accéder directement à ces pages de manuel en utilisant la commande man suivie du nom de la commande :

man find

Appuyez sur q pour quitter le visualiseur de pages de manuel une fois que vous avez terminé de lire.

Trouver les fichiers sources avec whereis

Les fichiers sources sont les fichiers de code originaux à partir desquels les exécutables binaires sont compilés. La commande whereis peut également vous aider à localiser ces fichiers sources lorsqu'ils sont disponibles sur votre système.

Pour rechercher des fichiers sources, utilisez l'option -s avec whereis. Essayons de trouver les fichiers sources de certaines commandes courantes :

whereis -s ls

Selon la configuration de votre système, vous pourriez ne pas voir de sortie ou voir quelque chose comme :

ls:

Cela indique que les fichiers sources de ls ne sont pas disponibles dans les emplacements standard de votre système. C'est courant pour de nombreux programmes préinstallés dans les distributions Linux, car leur code source n'est généralement pas inclus par défaut.

Certains programmes, en particulier ceux que vous compilez à partir de sources ou les outils de développement, peuvent avoir leurs fichiers sources disponibles sur le système. Essayons une autre commande, comme gcc (le compilateur C GNU) :

whereis -s gcc

Encore une fois, la sortie dépend de votre système. Vous pourriez voir quelque chose comme :

gcc: /usr/lib/gcc

Cela indique que les fichiers sources liés à gcc pourraient se trouver dans le répertoire /usr/lib/gcc.

Il est important de noter que l'option -s recherche les fichiers sources dans des emplacements prédéfinis, qui peuvent ne pas inclure tous les endroits où le code source pourrait être stocké sur votre système. De plus, de nombreux programmes dans les distributions Linux sont installés à partir de paquets binaires, donc leur code source peut ne pas être présent localement.

Combinons plusieurs options pour avoir une vue plus complète de l'emplacement des fichiers liés à une commande. Par exemple, pour trouver tous les fichiers binaires, de manuel et sources pour python :

whereis python

Cela devrait afficher tous les emplacements disponibles pour les fichiers liés à Python sur votre système, qui peuvent inclure plusieurs binaires, des pages de manuel et éventuellement des répertoires de sources.

Combiner les options et rechercher plusieurs commandes

La commande whereis offre une grande flexibilité dans la recherche de fichiers et peut être utilisée pour rechercher plusieurs commandes à la fois. Dans cette dernière étape, nous allons explorer comment combiner différentes options et rechercher plusieurs commandes en une seule requête.

Tout d'abord, combinons plusieurs options pour affiner notre recherche. Par exemple, si vous souhaitez trouver à la fois les fichiers binaires et les pages de manuel (mais pas les fichiers sources) de la commande tar :

whereis -b -m tar

Vous devriez voir une sortie similaire à :

tar: /usr/bin/tar /usr/share/man/man1/tar.1.gz

Cela montre à la fois l'emplacement du fichier binaire et de la page de manuel de la commande tar.

Vous pouvez également rechercher plusieurs commandes dans une seule requête whereis. Cela est utile lorsque vous avez besoin de localiser plusieurs commandes liées à la fois. Recherchons les emplacements de trois commandes - cp, mv et rm :

whereis cp mv rm

Vous devriez voir une sortie similaire à :

cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
mv: /usr/bin/mv /usr/share/man/man1/mv.1.gz
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz

Cela vous donne un aperçu rapide de l'emplacement de ces trois commandes courantes de manipulation de fichiers sur votre système.

Une autre option utile est -l, qui liste les répertoires que whereis recherche lors de la recherche de fichiers :

whereis -l

Cela affichera une liste des répertoires que whereis vérifie pour les fichiers binaires, les pages de manuel et les fichiers sources. La sortie variera selon la configuration de votre système, mais pourrait ressembler à ceci :

bin: /usr/bin
bin: /usr/sbin
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
man: /usr/man/all
man: /usr/share/man/all
man: /usr/local/man/all
man: /usr/local/share/man/all
src: /usr/src/linux
src: /usr/src/packages
src: /usr/local/src
...

Ces informations sont utiles pour comprendre où whereis effectue sa recherche et pourquoi il peut ne pas trouver certains fichiers même s'ils existent sur votre système.

La commande whereis est un moyen rapide de localiser les fichiers importants associés aux commandes de votre système Linux. Bien qu'elle ait certaines limitations (comme la recherche uniquement dans des chemins prédéfinis), elle offre une méthode rapide et simple pour trouver les exécutables binaires, les pages de manuel et, dans certains cas, les fichiers sources des commandes que vous utilisez.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande whereis sous Linux pour localiser les fichiers importants associés aux commandes de votre système. Voici un récapitulatif de ce que vous avez accompli :

  1. Vous avez appris la syntaxe de base et les options de la commande whereis
  2. Vous avez utilisé whereis pour trouver les fichiers exécutables binaires des commandes
  3. Vous avez découvert comment localiser les pages de manuel en utilisant l'option -m
  4. Vous avez exploré la recherche de fichiers sources avec l'option -s, en comprenant ses limitations
  5. Vous avez pratiqué la combinaison d'options et la recherche de plusieurs commandes à la fois

La commande whereis est un outil précieux dans votre boîte à outils Linux, vous permettant de trouver rapidement où les programmes sont installés et où se trouve leur documentation. Cette connaissance vous aide à naviguer plus efficacement dans le système de fichiers Linux et à comprendre comment le logiciel est organisé sur votre système.

Au fur et à mesure de votre progression dans le monde Linux, vous pourriez également explorer des commandes connexes telles que which (qui ne trouve que les exécutables dans votre PATH), locate (qui peut trouver n'importe quel fichier par son nom en utilisant une base de données) et find (qui peut rechercher des fichiers en utilisant divers critères). Chacune de ces commandes a ses propres forces et cas d'utilisation, complétant ce que vous avez appris sur whereis.