glossaire-linux

Arborescence du système

Linux suit un standard appelé FHS (Filesystem Hierarchy Standard) qui définit le rôle de chaque répertoire à la racine. Connaître ces emplacements permet de retrouver instantanément où sont les configurations, les logs, les binaires, les données utilisateur.

Arbre visuel

Vue d'ensemble de la racine d'un système Linux typique :

Répertoires standards

Tableau de référence : à quoi sert chaque dossier de la racine.

/

La racine — point de départ de tout le système de fichiers

Sous Linux, il n'existe pas de notion de « lecteur C: » ou « D: ». Tous les disques, partitions, périphériques et systèmes distants sont montés à l'intérieur d'une seule arborescence dont la racine est /.

/bin · /sbin · /usr

Les binaires exécutables du système

Options

/binCommandes essentielles disponibles pour tous les utilisateurs (ls, cp, mv, cat…). Sur les distributions modernes, c'est souvent un lien vers /usr/bin.
/sbinCommandes d'administration système (system binaries) : fdisk, iptables, shutdown… Réservées à root pour la plupart.
/usr/binLa majorité des programmes installés via le gestionnaire de paquets.
/usr/sbinProgrammes d'administration installés.
/usr/local/binLogiciels compilés et installés manuellement par l'administrateur.
Astuce : pour savoir où se trouve une commande, utilisez which ou type : which python3 renvoie /usr/bin/python3.

/etc

Toutes les configurations système

/etc contient principalement la configuration propre à la machine. Beaucoup de fichiers sont textuels, mais certains formats sont binaires ou gérés par des outils ; consulter leur documentation avant de les modifier.

Options

/etc/passwdListe des comptes utilisateurs.
/etc/shadowHachages des mots de passe et politiques d’expiration, avec accès restreint (root et éventuellement un groupe privilégié). Ce ne sont pas des mots de passe déchiffrables.
/etc/groupGroupes du système.
/etc/hostnameNom de la machine.
/etc/hostsTable locale de noms et d’adresses ; sa priorité par rapport au DNS dépend de /etc/nsswitch.conf.
/etc/resolv.confServeurs DNS configurés.
/etc/fstabSystèmes de fichiers montés au démarrage.
/etc/ssh/Configuration du service SSH.
/etc/systemd/Configuration de systemd et unités personnalisées.
/etc/cron.*/Tâches planifiées (cron.daily, cron.weekly…).

/home et /root

Les répertoires personnels

Par convention, les comptes ordinaires ont souvent un répertoire /home/nom, mais le chemin est défini dans leur entrée passwd et peut être ailleurs, absent ou non créé pour un compte de service. HOME et ~ désignent normalement le répertoire personnel de la session. Celui de root est généralement /root.

$ cd ~/Documents      # équivaut à /home/dev/Documents

/var

Données qui changent en permanence

Le variable par opposition au reste du système qui est relativement stable. Les programmes y écrivent leurs logs, leurs caches, leurs fichiers de spool, leurs bases de données…

Options

/var/logTous les fichiers de journalisation. Premier endroit à inspecter pour diagnostiquer un problème.
/var/cacheCaches applicatifs (paquets téléchargés, miniatures…).
/var/spoolFiles d'attente : impressions, mails, tâches cron.
/var/libÉtat applicatif persistant (bases MySQL, packages installés…).
/var/tmpTemporaires qui survivent aux redémarrages (contrairement à /tmp).
/var/wwwRacine traditionnelle des serveurs web.

/proc · /sys · /dev

Les systèmes de fichiers virtuels

/proc et /sys exposent des interfaces virtuelles du noyau, souvent sous forme de texte. /dev contient des nœuds de périphériques caractères ou blocs et des montages spéciaux : leurs données ne sont pas nécessairement du texte ni des fichiers ordinaires stockés sur disque.

Options

/procÉtat des processus et du noyau. /proc/cpuinfo, /proc/meminfo, /proc/<pid>/…
/sysReprésentation hiérarchique des périphériques et de leurs paramètres. Utilisé par udev, les outils de gestion d'énergie, etc.
/devNœuds de périphériques : /dev/sda (disque), /dev/null, /dev/zero, /dev/random…
$ cat /proc/loadavg
cat /sys/class/thermal/thermal_zone0/temp
Lit la charge et une zone thermique exposée par le noyau. thermal_zone0 peut être absent ou mesurer un autre capteur que le CPU ; consulter son fichier type. La valeur temp est généralement en millièmes de degré Celsius.

Autres répertoires

Pour mémoire

Options

/bootNoyau Linux (vmlinuz-*), initramfs, configuration GRUB.
/libBibliothèques partagées des binaires de /bin et /sbin.
/mediaPoint de montage automatique des supports amovibles (clés USB, CD/DVD).
/mntPoint de montage temporaire à usage manuel.
/optLogiciels tiers indépendants (souvent un dossier par produit).
/runDonnées d'exécution des services depuis le démarrage (PID, sockets…).
/srvDonnées servies par les services hébergés (web, FTP…). Peu utilisé en pratique, beaucoup préfèrent /var/www.
/tmpFichiers temporaires, avec nettoyage selon la distribution (souvent au démarrage ou après un délai). Tout utilisateur peut généralement y créer des fichiers ; le sticky bit restreint leur suppression.