Système de Fichiers Linux
Linux organise tout sous forme de fichiers, structurés dans une arborescence hiérarchique
avec une racine unique /.
Règle fondamentale : « Tout est un fichier » sous Linux. Fichiers texte, répertoires, périphériques matériels, processus — tout est représenté comme un fichier.
Structure hiérarchique
/ (racine — root)
├── home/ ← Répertoires personnels des utilisateurs
│ ├── alice/
│ └── bob/
├── bin/ ← Commandes système essentielles (ls, cp, mv...)
├── sbin/ ← Binaires systèmes (root only)
├── usr/ ← Programmes et données utilisateur
│ ├── bin/ ← Applications installées
│ └── local/ ← Logiciels compilés localement
├── lib/ ← Bibliothèques partagées (.so)
├── opt/ ← Logiciels tiers optionnels (non-split)
├── etc/ ← Fichiers de configuration système
├── tmp/ ← Fichiers temporaires (effacés au redémarrage)
├── boot/ ← Fichiers de démarrage (kernel, GRUB)
├── dev/ ← Fichiers de périphériques matériels
├── var/ ← Données variables (logs, cache, bases de données)
│ ├── log/
│ └── cache/
├── media/ ← Point de montage médias amovibles (USB, CD)
└── mnt/ ← Montages temporaires manuels
Description des répertoires clés
/home — Répertoires utilisateurs
/home/alice/ ← Fichiers personnels d'Alice
/home/bob/ ← Fichiers personnels de Bob
- Chaque utilisateur non-root a son propre dossier dans
/home - Le raccourci
~désigne le répertoire home de l'utilisateur courant - Contient les fichiers de configuration personnels (dotfiles)
/bin et /sbin — Binaires système
| Répertoire | Contenu | Accessible par |
|---|---|---|
/bin | Commandes essentielles (ls, cp, mv, cat, bash) | Tous les utilisateurs |
/sbin | Commandes système (fdisk, ifconfig, reboot) | Root uniquement |
/usr — Programmes utilisateur
/usr/
├── bin/ ← Commandes des applications installées
├── sbin/ ← Outils système secondaires
├── lib/ ← Bibliothèques pour /usr/bin et /usr/sbin
└── local/ ← Logiciels compilés/installés manuellement
└── bin/ ← Binaires de /usr/local
/usr/local: emplacement recommandé pour les logiciels installés en dehors du gestionnaire de paquets.
/etc — Configuration système
- Contient tous les fichiers de configuration du système
- Fichiers texte lisibles et modifiables
/etc/passwd # Liste de tous les comptes utilisateurs
/etc/hosts # Table DNS locale (hostname → IP)
/etc/apt/sources.list # Sources des dépôts APT
/etc/ssh/sshd_config # Configuration du serveur SSH
/etc/environment # Variables d'environnement système globales
/var — Données variables
/var/
├── log/ ← Fichiers journaux système
│ ├── syslog
│ ├── auth.log
│ └── nginx/
├── cache/ ← Données en cache des applications
└── lib/ ← Données persistantes des applications
/tmp — Fichiers temporaires
- Données temporaires créées par les processus en cours
- Effacé automatiquement au redémarrage du système
- Accessible en écriture par tous les utilisateurs
/dev — Périphériques matériels
Chaque périphérique est représenté par un fichier :
/dev/sda # Premier disque dur
/dev/sda1 # Première partition du premier disque
/dev/null # "Trou noir" — absorbe tout ce qu'on y écrit
/dev/tty # Terminal courant
/opt — Logiciels optionnels tiers
- Logiciels qui ne suivent pas la hiérarchie standard (
/bin,/lib, etc.) - Exemple : JetBrains IDE, Oracle JDK
- Chaque logiciel dans son propre sous-dossier :
/opt/nomlogiciel/
/boot — Démarrage
/boot/
├── vmlinuz ← Image du kernel Linux compressée
├── initrd.img ← RAM disk initial (pour le démarrage)
└── grub/ ← Configuration du bootloader GRUB
Fichiers cachés (dotfiles)
Un fichier dont le nom commence par . est caché (non visible avec ls standard).
ls -a # Afficher TOUS les fichiers, y compris cachés
ls -la # Afficher tous les fichiers avec détails
# Exemples de dotfiles :
~/.bashrc # Configuration du shell Bash
~/.ssh/ # Clés SSH
~/.gitconfig # Configuration Git
Chemins absolus vs relatifs
| Type | Description | Exemple |
|---|---|---|
| Absolu | Commence par /, chemin complet depuis la racine | /home/alice/documents/ |
| Relatif | Relatif au répertoire courant | documents/rapport.txt |
. # Répertoire courant
.. # Répertoire parent
~ # Répertoire home de l'utilisateur courant
/ # Racine du système de fichiers
À retenir
- Tout est un fichier sous Linux : fichiers, dossiers, périphériques, processus
/= racine unique de toute l'arborescence/home= dossiers personnels des utilisateurs ;~= raccourci vers votre home/etc= fichiers de configuration (texte modifiable)/var/log= journaux système ;/tmp= temporaires (effacés au reboot)/bin= commandes essentielles ;/sbin= commandes root/opt= logiciels tiers sans split standard- Les fichiers cachés commencent par
.(dotfiles)