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 :
/
├── bin→Commandes essentielles (ls, cp, mv…)
├── boot→Noyau, initramfs, GRUB
├── dev→Périphériques (disques, ports série…)
├── etc→Configurations système
├── home→Répertoires personnels
│ ├── alice
│ └── bob
├── lib→Bibliothèques partagées
├── media→Montage automatique (USB, CD)
├── mnt→Montage temporaire (manuel)
├── opt→Logiciels tiers installés à part
├── proc→Système virtuel : infos noyau et processus
├── root→Home de l'utilisateur root
├── run→État des services au démarrage
├── sbin→Commandes système (réservées à root)
├── srv→Données des services hébergés
├── sys→Système virtuel : matériel et noyau
├── tmp→Fichiers temporaires (vidé au reboot)
├── usr→Programmes et données partagés
│ ├── bin →Commandes utilisateur
│ ├── lib →Bibliothèques utilisateur
│ ├── local →Logiciels installés manuellement
│ └── share →Données indépendantes de l'arch.
└── var→Données variables (logs, mails, cache…)
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
/bin
Commandes essentielles disponibles pour tous les utilisateurs (ls, cp, mv, cat…). Sur les distributions modernes, c'est souvent un lien vers /usr/bin.
/sbin
Commandes d'administration système (system binaries) : fdisk, iptables, shutdown… Réservées à root pour la plupart.
/usr/bin
La majorité des programmes installés via le gestionnaire de paquets.
/usr/sbin
Programmes d'administration installés.
/usr/local/bin
Logiciels 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/passwd
Liste des comptes utilisateurs.
/etc/shadow
Hachages 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/group
Groupes du système.
/etc/hostname
Nom de la machine.
/etc/hosts
Table locale de noms et d’adresses ; sa priorité par rapport au DNS dépend de /etc/nsswitch.conf.
/etc/resolv.conf
Serveurs DNS configurés.
/etc/fstab
Systè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/log
Tous les fichiers de journalisation. Premier endroit à inspecter pour diagnostiquer un problème.
Temporaires qui survivent aux redémarrages (contrairement à /tmp).
/var/www
Racine 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>/…
/sys
Représentation hiérarchique des périphériques et de leurs paramètres. Utilisé par udev, les outils de gestion d'énergie, etc.
/dev
Nœuds de périphériques : /dev/sda (disque), /dev/null, /dev/zero, /dev/random…
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
/boot
Noyau Linux (vmlinuz-*), initramfs, configuration GRUB.
/lib
Bibliothèques partagées des binaires de /bin et /sbin.
/media
Point de montage automatique des supports amovibles (clés USB, CD/DVD).
/mnt
Point de montage temporaire à usage manuel.
/opt
Logiciels tiers indépendants (souvent un dossier par produit).
/run
Données d'exécution des services depuis le démarrage (PID, sockets…).
/srv
Données servies par les services hébergés (web, FTP…). Peu utilisé en pratique, beaucoup préfèrent /var/www.
/tmp
Fichiers 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.