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.

Préparation LPI Exam 101

Document source

Préparation LPI Exam 101

Linux Filesystem and Command Line Utilities · PDF · 32 pages · 2006

Afficher l'aperçu du document

Consulter le document original →

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 :

  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).
  2. Maîtrisez la ponctuation de find : La syntaxe de find est 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 ().
  3. Distinguez les outils de recherche de commandes : Gardez en tête que which se concentre sur l'environnement de l'utilisateur (le $PATH), que whereis s'appuie sur des répertoires codés en dur dans son code, et que type analyse la commande du point de vue de l'interpréteur de commandes lui-même.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions