Préparation LPI Exam 101
Analyse du document de préparation Le document source fourni est un support de cours destiné à la préparation de l'objectif 104.7 de l'examen LPI 101. Il ne comporte pas d'exercices formels ni de questions directes, mais expose les concepts fondamentaux de l'arborescence Linux et des outils de recherche de fichiers.
D'après le document Préparation LPI Exam 101
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Linux Filesystem and Command Line Utilities · PDF · 32 pages · 2006
Afficher l'aperçu du document
Analyse du document de préparation
Le document source fourni est un support de cours destiné à la préparation de l'objectif 104.7 de l'examen LPI 101. Il ne comporte pas d'exercices formels ni de questions directes, mais expose les concepts fondamentaux de l'arborescence Linux et des outils de recherche de fichiers. Pour vous aider à assimiler ce contenu comme s'il s'agissait d'un sujet d'examen, voici une analyse détaillée et corrigée de tous les points techniques et commandes abordés dans le document.
Section 1 - L'arborescence standard FHS
La norme FHS (Filesystem Hierarchy Standard) organise la structure des répertoires sous Linux en classant les fichiers selon deux axes : leur nature (statique ou variable) et leur accessibilité (partageable ou non partageable).
Les répertoires essentiels
Le tableau ci-dessous synthétise la fonction des répertoires clés que vous devez impérativement connaître :
| Répertoire | Usage défini par le FHS |
|---|---|
/bin |
Commandes de base accessibles à tous les utilisateurs (ex: cp, ls), utilisables même en mode de maintenance. |
/sbin |
Binaires d'administration système essentiels, généralement réservés au super-utilisateur (ex: init, fsck). |
/boot |
Fichiers nécessaires au démarrage du système, incluant le noyau Linux. |
/dev |
Fichiers de périphériques (représentation des disques, terminaux, etc.). |
/etc |
Fichiers de configuration locaux de la machine. |
/home |
Répertoires personnels des utilisateurs standards. |
/lib |
Bibliothèques partagées essentielles au système et aux binaires de /bin et /sbin. |
/media |
Points de montage pour les médias amovibles (clés USB, CD-ROM). |
/mnt |
Points de montage temporaires pour les systèmes de fichiers. |
/opt |
Logiciels et applications additionnels. |
/proc & /sysfs |
Systèmes de fichiers virtuels montrant l'état du noyau, des processus et du matériel en cours d'exécution. |
/root |
Répertoire personnel de l'administrateur système (root). |
/srv |
Données servies par le système (pour des services comme FTP ou un serveur Web). |
/tmp |
Fichiers temporaires (le contenu peut être supprimé au redémarrage). |
/usr |
Seconde hiérarchie contenant des données statiques partageables en lecture seule (programmes, manuels, code source). |
/var |
Fichiers dont la taille varie pendant le fonctionnement du système (journaux système, caches, files d'attente d'impression, mails). |
Section 2 - Utilisation de la commande find
Le document liste une série de commandes find pour rechercher des fichiers en temps réel. Voici l'explication de chaque exemple présenté, avec la correction d'une erreur d'enseignement contenue dans le support initial.
Recherche par nom et affichage
find . -name '*.txt' -print
Cette commande recherche dans le répertoire courant (.) et tous ses sous-répertoires les fichiers dont le nom se termine par .txt. Le caractère * doit être protégé par des guillemets simples pour ne pas être interprété immédiatement par le shell. -print affiche le résultat.
Recherche par permissions
find . -perm 664 -print
find / -perm -664 -print
La première commande trouve les fichiers possédant exactement les permissions 664 (rw-rw-r--).
Attention, le document contient une faute de frappe ("find . perm 664" au lieu de -perm). La syntaxe -perm -664 cherche les fichiers qui ont au minimum ces droits (par exemple, un fichier avec les droits 777 rwxrwxrwx correspondra).
Recherche par propriétaire
find /home -user corsini -print
Recherche tous les fichiers appartenant à l'utilisateur corsini en débutant l'analyse à la racine du répertoire /home.
Recherche par taille (Correction de l'exemple source)
find /home/toto -size 30M -print
Attention, le document source contient une erreur factuelle ici. Le document affirme que cette commande cherche "les fichiers de plus de 30 Mo". C'est faux. L'argument -size 30M cherche les fichiers faisant exactement 30 Mégaoctets.
Pour rechercher les fichiers de plus de 30 Mo (comme le souhaitait l'auteur du document), vous devez utiliser le signe plus :
find /home/toto -size +30M -print
Recherche par type et exécution de commande
find . -type f -exec file '{}' \;
Recherche les fichiers réguliers (-type f). Pour chaque résultat, elle exécute (-exec) la commande file. Les accolades {} sont remplacées par le chemin du fichier trouvé, et \; indique la fin de la commande à exécuter.
Recherche par date
find . -mtime -3 -print
find . -mtime +3 -print
La première commande retourne les fichiers modifiés (-mtime) il y a moins de 3 jours (-3). La seconde retourne les fichiers modifiés il y a strictement plus de 3 jours (+3).
Combinaison de critères logiques
find . \( -name "*.jpg" -o -name "*.jpeg" \) -a -size +100M -print
Recherche les fichiers nommés *.jpg OU (-o) *.jpeg, ET (-a) dont la taille excède 100 Mo. Les parenthèses permettent de grouper les conditions logiques et doivent être échappées avec des antislashs \ pour éviter une erreur de syntaxe du shell.
Section 3 - Les autres utilitaires de localisation
Les commandes locate et updatedb
Contrairement à find qui lit le disque dur en direct, locate lit une base de données préétablie, ce qui le rend instantané. L'inconvénient est que tout fichier créé après la dernière exécution de la commande updatedb sera invisible pour locate.
locate -b '\a2ps'
L'option -b demande de chercher uniquement dans le nom de base du fichier (et non dans tout le chemin). L'antislash \ devant le nom empêche locate de l'entourer d'astérisques implicites, forçant la recherche de la chaîne exacte au lieu d'une sous-chaîne.
La commande whereis
whereis a2ps
Cette commande cherche dans un ensemble fini de répertoires standards prédéfinis (/bin, /usr/bin, etc.) pour vous retourner l'emplacement du fichier binaire, de son code source et de sa page de manuel.
La commande which
which a2ps
Elle cherche le fichier exécutable, mais uniquement en se basant sur la variable d'environnement $PATH de l'utilisateur actif. C'est le moyen le plus sûr de savoir quel binaire sera effectivement lancé par le shell si vous tapez cette commande.
La commande type
type ls
Cette instruction est interne au shell (built-in). Elle vous révèle la nature de la commande passée en argument : est-ce une fonction interne du shell, un alias (ex: ls est souvent un alias vers ls --color=auto), ou un binaire présent sur le système.
Méthode
Pour réussir les questions portant sur ce domaine lors de l'examen LPIC-1 :
- Apprenez la topologie par cœur : Demandez-vous toujours si le fichier que l'on vous soumet est statique, variable, propre au noyau ou lié aux utilisateurs. Cela suffit souvent pour éliminer les mauvais choix dans un QCM (ex: un fichier de log n'ira jamais dans
/etc, un fichier de configuration ne sera jamais dans/var). - Maîtrisez la ponctuation de find : La syntaxe de
findest stricte. Souvenez-vous de la différence entre un nombre brut (correspondance exacte), un nombre précédé de+(strictement supérieur) et de-(strictement inférieur). N'oubliez pas les obligations d'échappement pour les symboles comme*,;ou(). - Distinguez les outils de recherche de commandes : Gardez en tête que
whichse concentre sur l'environnement de l'utilisateur (le$PATH), quewhereiss'appuie sur des répertoires codés en dur dans son code, et quetypeanalyse la commande du point de vue de l'interpréteur de commandes lui-même.
Commentaires
Aucun commentaire pour le moment. Posez la première question.