L'ARBORESCENCE DE LINUX
Guide complet du système de fichiers
Cours niveau débutant à intermédiaire
Durée : 3-4 heures
Page 1
Table des matières
1. Introduction à l'arborescence Linux
2. La philosophie Linux : tout est fichier
3. La racine / et les répertoires principaux
4. Les commandes essentielles de navigation
5. Permissions et propriétés des fichiers
6. Bonnes pratiques et organisation
7. Exercices pratiques
8. Annexes et ressources
Page 2
1. Introduction à l'arborescence Linux
1.1 Objectifs pédagogiques
À la fin de ce cours, vous serez capable de :
• Comprendre la structure hiérarchique du système de fichiers Linux
• Naviguer efficacement dans l'arborescence
• Identifier le rôle et le contenu de chaque répertoire principal
• Utiliser les commandes de base pour explorer le système
• Comprendre et gérer les permissions des fichiers
1.2 Différences avec Windows
Linux organise son système de fichiers de manière radicalement différente de Windows.
Voici les principales différences :
Windows Linux
Plusieurs racines (C:, D:, E:) Une seule racine (/)
Barres obliques inversées (\) Barres obliques (/)
Insensible à la casse Sensible à la casse
Lecteurs montés séparément Tout intégré dans /
1.3 Chemins absolus vs chemins relatifs
Chemin absolu
Un chemin absolu commence toujours par / et décrit l'emplacement complet depuis la
racine.
/home/utilisateur/Documents/[Link]
Chemin relatif
Un chemin relatif part de votre position actuelle dans le système de fichiers.
Documents/[Link]
Symboles spéciaux :
• . représente le répertoire courant
• .. représente le répertoire parent
• ~ représente votre répertoire personnel
Page 3
2. La philosophie Linux : tout est fichier
Sous Linux, presque tout est représenté comme un fichier. Cette philosophie simplifie
considérablement la manipulation du système.
2.1 Types de fichiers
• Fichiers réguliers : documents, images, programmes
• Répertoires : des fichiers spéciaux contenant d'autres fichiers
• Liens symboliques : des raccourcis vers d'autres fichiers
• Fichiers de périphériques : représentent le matériel (disques, imprimantes,
etc.)
• Sockets et pipes : pour la communication entre processus
2.2 L'arbre inversé
L'arborescence Linux ressemble à un arbre inversé :
/ ├── bin/ ├── boot/ ├── dev/ ├── etc/ ├── home/ │ ├── alice/ │ └── bob/
├── lib/ ├── media/ ├── mnt/ ├── opt/ ├── proc/ ├── root/ ├── sbin/ ├── sys/
├── tmp/ ├── usr/ │ ├── bin/ │ ├── lib/ │ └── local/ └── var/
Page 4
3. La racine / et les répertoires principaux
Chaque répertoire dans Linux a un rôle spécifique défini par le Filesystem Hierarchy
Standard (FHS).
3.1 /bin - Binaires essentiels
Contenu : Programmes indispensables au système et utilisables par tous les
utilisateurs.
Exemples :
ls, cp, mv, rm, cat, grep, bash, chmod
Pourquoi c'est important : Ces commandes sont disponibles même en mode de
récupération système.
3.2 /boot - Fichiers de démarrage
Contenu : Noyau Linux, images initiales du système, fichiers du chargeur d'amorçage
(GRUB).
Fichiers clés :
• vmlinuz : le noyau Linux compressé
• [Link] : système de fichiers initial en RAM
• grub/ : configuration du chargeur d'amorçage
⚠️Attention : Ne jamais modifier ce répertoire sans savoir exactement ce que vous
faites !
3.3 /dev - Fichiers de périphériques
Contenu : Fichiers spéciaux représentant les périphériques matériels et virtuels.
Exemples importants :
• /dev/sda : premier disque dur
• /dev/sda1 : première partition du premier disque
• /dev/null : périphérique qui ignore tout ce qu'on lui envoie
• /dev/random : générateur de nombres aléatoires
• /dev/tty : terminaux
3.4 /etc - Configuration système
Contenu : Tous les fichiers de configuration du système et des applications.
Fichiers essentiels :
• /etc/passwd : informations sur les utilisateurs
• /etc/shadow : mots de passe chiffrés
• /etc/group : informations sur les groupes
Page 5
• /etc/fstab : points de montage des systèmes de fichiers
• /etc/hosts : résolution de noms locaux
• /etc/hostname : nom de la machine
💡 Conseil : Sauvegardez toujours un fichier de configuration avant de le modifier !
Page 6
3.5 /home - Répertoires personnels
Contenu : Répertoire personnel de chaque utilisateur non-administrateur.
Structure typique :
/home/ ├── alice/ │ ├── Documents/ │ ├── Downloads/ │ ├── Music/ │ ├──
Pictures/ │ ├── Videos/ │ ├── .bashrc │ └── .config/ └── bob/
└── ...
Fichiers cachés : Les fichiers commençant par un point (.) sont cachés et contiennent
généralement des configurations personnelles.
3.6 /root - Répertoire de l'administrateur
Contenu : Répertoire personnel de l'utilisateur root (administrateur système).
⚠️Important : Séparé de /home pour des raisons de sécurité. Même si /home est sur
une partition différente, root peut toujours se connecter.
3.7 /lib - Bibliothèques partagées
Contenu : Bibliothèques essentielles pour les programmes de /bin et /sbin.
Exemples :
• [Link] : bibliothèque C standard
• modules/ : modules du noyau (pilotes)
3.8 /media et /mnt - Points de montage
/media : Points de montage automatiques (clés USB, CD/DVD, disques externes)
/mnt : Points de montage manuels temporaires
Exemple d'utilisation :
sudo mount /dev/sdb1 /mnt/usb
3.9 /opt - Logiciels optionnels
Contenu : Applications tierces installées manuellement, qui ne font pas partie de la
distribution.
Exemples : Google Chrome, Skype, logiciels propriétaires
3.10 /proc - Système de fichiers virtuel
Contenu : Informations sur les processus en cours et le système. Ce répertoire n'existe
qu'en mémoire !
Fichiers utiles :
• /proc/cpuinfo : informations CPU
• /proc/meminfo : informations mémoire
Page 7
• /proc/[PID]/ : informations sur le processus numéro PID
⚠️Attention : Ne jamais tenter de modifier /proc ! C'est un système virtuel en lecture
seule.
Page 8
3.11 /sys - Informations matérielles
Contenu : Interface vers le noyau pour interagir avec les périphériques matériels.
Permet de lire et modifier des paramètres matériels en temps réel.
3.12 /tmp - Fichiers temporaires
Contenu : Fichiers temporaires créés par les applications et le système.
💡 Important : Ce répertoire est vidé à chaque redémarrage. Ne stockez jamais de
données importantes ici !
Permissions : Accessible en écriture par tous les utilisateurs (avec bit sticky)
3.13 /usr - Applications utilisateur
Contenu : La majorité des applications et utilitaires installés. C'est souvent le plus gros
répertoire.
Structure :
• /usr/bin : commandes utilisateur non essentielles
• /usr/sbin : commandes système non essentielles
• /usr/lib : bibliothèques des applications
• /usr/local : logiciels compilés localement
• /usr/share : données partagées (documentation, icônes)
3.14 /var - Données variables
Contenu : Fichiers dont la taille change fréquemment.
Répertoires importants :
• /var/log : journaux système et applications
• /var/cache : caches des applications
• /var/tmp : fichiers temporaires persistants
• /var/www : fichiers de serveurs web
• /var/spool : files d'attente (impression, mail)
3.15 /sbin - Binaires système
Contenu : Programmes d'administration système, généralement réservés à root.
Exemples :
fdisk, mkfs, iptables, reboot, shutdown
Page 9
4. Les commandes essentielles de navigation
4.1 pwd - Afficher le répertoire courant
La commande pwd (Print Working Directory) affiche votre position actuelle dans
l'arborescence.
Syntaxe :
pwd
Exemple :
$ pwd /home/utilisateur/Documents
4.2 ls - Lister le contenu
La commande ls (List) affiche le contenu d'un répertoire.
Syntaxe de base :
ls [options] [chemin]
Options importantes :
Option Description
-l Format long (permissions, propriétaire, taille, date)
-a Afficher tous les fichiers (y compris cachés)
-h Tailles lisibles (K, M, G)
-R Récursif (afficher les sous-répertoires)
-t Trier par date de modification
Exemples pratiques :
ls -la /home # Liste détaillée incluant fichiers cachés ls -lh
/var/log # Tailles lisibles ls -lt ~/Documents # Trié par date de
modification
4.3 cd - Changer de répertoire
La commande cd (Change Directory) permet de naviguer dans l'arborescence.
Syntaxe :
cd [chemin]
Raccourcis utiles :
Page 10
Commande Description
cd Aller au répertoire personnel
cd ~ Aller au répertoire personnel (équivalent)
cd / Aller à la racine
cd .. Remonter d'un niveau
cd - Retourner au répertoire précédent
Page 11
4.4 tree - Afficher l'arborescence
La commande tree affiche une vue graphique de la structure des répertoires.
Installation (si nécessaire) :
sudo apt install tree
Exemples :
tree # Afficher l'arborescence actuelle tree -L 2
# Limiter à 2 niveaux de profondeur tree -d # Répertoires
uniquement tree -a # Inclure les fichiers cachés
4.5 find - Rechercher des fichiers
La commande find est l'outil le plus puissant pour rechercher des fichiers.
Syntaxe de base :
find [chemin] [critères] [actions]
Exemples pratiques :
# Rechercher par nom find /home -name "*.txt" # Rechercher par type find /var
-type d # Répertoires uniquement find /tmp -type f #
Fichiers uniquement # Rechercher par taille find ~ -size +100M #
Plus de 100 Mo find /var/log -size -1M # Moins de 1 Mo # Rechercher
par date de modification find ~/Documents -mtime -7 # Modifiés dans les 7
derniers jours find /tmp -mtime +30 # Modifiés il y a plus de 30
jours # Rechercher par permissions find /home -perm 644 #
Permissions exactes find /var/www -perm -644 # Au minimum ces
permissions # Combiner avec des actions find ~ -name "*.bak" -delete #
Supprimer les fichiers de sauvegarde
4.6 locate - Recherche rapide
La commande locate recherche dans une base de données pré-indexée (très rapide).
Installation et mise à jour :
sudo apt install mlocate sudo updatedb # Mettre à jour la base de
données
Exemples :
locate [Link] locate -i rapport # Insensible à la casse locate -
c "*.pdf" # Compter les résultats
4.7 which - Localiser un exécutable
La commande which affiche le chemin complet d'une commande.
Exemples :
which python which -a python # Tous les emplacements possibles
Page 12
5. Permissions et propriétés des fichiers
5.1 Comprendre les permissions
Sous Linux, chaque fichier possède des permissions qui définissent qui peut faire quoi.
Exemple de sortie ls -l :
-rwxr-xr-- 1 alice users 4096 Jan 15 10:30 [Link]
Décomposition :
Partie Signification
- Type de fichier (- = fichier régulier, d = répertoire, l = lien)
rwx Permissions du propriétaire (lecture, écriture, exécution)
r-x Permissions du groupe (lecture, pas d'écriture, exécution)
r-- Permissions des autres (lecture uniquement)
alice Propriétaire du fichier
users Groupe propriétaire
5.2 Signification des permissions
Permissio Pour un fichier Pour un répertoire
n
r (4) Lecture du contenu Lister le contenu
w (2) Modifier le contenu Créer/supprimer des fichiers
x (1) Exécuter le fichier Entrer dans le répertoire
Page 13
5.3 Notation octale
Les permissions peuvent être représentées en notation octale (base 8) :
Octal Symbolique Signification
7 rwx Lecture + Écriture + Exécution
6 rw- Lecture + Écriture
5 r-x Lecture + Exécution
4 r-- Lecture uniquement
0 --- Aucune permission
Exemples courants :
• 644 (rw-r--r--) : Fichiers de documents standard
• 755 (rwxr-xr-x) : Scripts et programmes exécutables
• 600 (rw-------) : Fichiers privés (clés SSH)
• 777 (rwxrwxrwx) : Tous droits (⚠️dangereux !)
5.4 Modifier les permissions - chmod
La commande chmod (Change Mode) modifie les permissions.
Méthode octale :
chmod 644 [Link] # rw-r--r-- chmod 755 [Link] # rwxr-xr-x
chmod 700 fichier_prive # rwx------
Méthode symbolique :
chmod u+x [Link] # Ajouter exécution au propriétaire chmod g-w
[Link] # Retirer écriture au groupe chmod o-r [Link] #
Retirer lecture aux autres chmod a+x programme # Ajouter exécution à
tous
Récursif :
chmod -R 755 /var/www/html
5.5 Changer le propriétaire - chown
La commande chown (Change Owner) modifie le propriétaire et/ou le groupe.
Exemples :
sudo chown alice [Link] # Changer propriétaire sudo chown
alice:users [Link] # Changer propriétaire et groupe sudo
chown :www-data /var/www/html # Changer uniquement le groupe sudo chown
-R alice:alice /home/alice # Récursif
Page 14
Page 15
6. Bonnes pratiques et organisation
6.1 Organisation du répertoire personnel
Votre répertoire /home/utilisateur doit être bien organisé pour faciliter la gestion
de vos fichiers.
Structure recommandée :
~/ ├── Documents/ │ ├── Personnel/ │ ├── Travail/ │ └── Archives/ ├──
Projets/ │ ├── projet1/ │ └── projet2/ ├── Scripts/ ├── Downloads/ ├──
Pictures/ ├── Videos/ ├── Music/ └── .config/ # Configurations
d'applications
6.2 Où installer vos applications ?
• Applications système : Utiliser le gestionnaire de paquets (apt, yum, dnf)
• Applications tierces : /opt ou ~/Applications
• Logiciels compilés : /usr/local ou ~/local
• Scripts personnels : ~/bin (ajoutez au PATH)
6.3 Sauvegardes importantes
Fichiers à sauvegarder régulièrement :
• /home : Tous vos documents personnels
• /etc : Configurations système
• /var/www : Sites web (si applicable)
• /opt : Applications tierces
6.4 Règles de sécurité
1. Ne jamais travailler en tant que root sauf si absolument nécessaire
2. Utiliser sudo pour les tâches administratives ponctuelles
3. Ne jamais donner 777 comme permissions sauf cas très spécifique
4. Protéger vos clés SSH avec chmod 600
5. Ne jamais modifier /proc ou /sys directement
6.5 Utilisation des liens symboliques
Les liens symboliques (symlinks) sont des raccourcis vers d'autres fichiers ou
répertoires.
Créer un lien symbolique :
ln -s /chemin/source /chemin/lien # Exemple pratique ln -s /var/www/html
~/www # Maintenant ~/www pointe vers /var/www/html
Page 16
💡 Astuce : Toujours utiliser des chemins absolus lors de la création de liens
symboliques pour éviter les problèmes.
Page 17
7. Exercices pratiques
7.1 Exercice 1 : Navigation de base
Objectif : Maîtriser les commandes de navigation
Tâches :
6. Affichez votre position actuelle
7. Allez dans le répertoire /etc
8. Listez tous les fichiers (y compris cachés)
9. Retournez à votre répertoire personnel
10. Affichez l'arborescence de votre répertoire Documents
Solution :
pwd cd /etc ls -la cd ~ tree ~/Documents
7.2 Exercice 2 : Recherche de fichiers
Objectif : Utiliser find pour localiser des fichiers
Tâches :
11. Trouvez tous les fichiers .conf dans /etc
12. Trouvez les fichiers de plus de 100 Mo dans votre répertoire personnel
13. Trouvez les fichiers modifiés dans les 7 derniers jours
14. Localisez tous les fichiers Python (.py) sur le système
Solution :
find /etc -name "*.conf" find ~ -size +100M find ~ -mtime -7 locate "*.py"
7.3 Exercice 3 : Gestion des permissions
Objectif : Modifier les permissions et propriétaires
Tâches :
15. Créez un fichier [Link]
16. Rendez-le exécutable uniquement pour vous
17. Créez un fichier [Link] avec permissions 644
18. Retirez le droit de lecture aux autres utilisateurs
Solution :
touch [Link] chmod 700 [Link] touch [Link] chmod 644 [Link]
chmod o-r [Link]
7.4 Exercice 4 : Projet web
Objectif : Créer une structure complète pour un site web
Page 18
Créez la structure suivante :
~/mon-site/ ├── public/ │ ├── css/ │ ├── js/ │ └── images/ ├── src/ ├──
config/ ├── logs/ └── backups/
Permissions à appliquer :
• 755 pour tous les répertoires
• 644 pour les fichiers de contenu
• 700 pour le répertoire config
Solution :
mkdir -p ~/mon-site/{public/{css,js,images},src,config,logs,backups} chmod -R
755 ~/mon-site chmod 700 ~/mon-site/config
Page 19
8. Annexes et ressources
8.1 Commandes de référence rapide
Commande Description
pwd Afficher le répertoire courant
ls -la Liste détaillée incluant fichiers cachés
cd /chemin Changer de répertoire
tree Afficher l'arborescence
find Rechercher des fichiers
chmod Modifier les permissions
chown Changer propriétaire/groupe
man [cmd] Afficher le manuel d'une commande
df -h Espace disque disponible
du -sh Taille d'un répertoire
8.2 Variables d'environnement importantes
• $HOME : Chemin du répertoire personnel
• $PATH : Chemins de recherche des exécutables
• $USER : Nom de l'utilisateur courant
• $PWD : Répertoire de travail actuel
8.3 Ressources pour aller plus loin
Documentation officielle :
• Filesystem Hierarchy Standard (FHS) :
[Link]
• Pages man locales : man hier
Tutoriels en ligne :
• Linux Journey
• The Linux Documentation Project
• ArchWiki (excellente documentation)
Livres recommandés :
Page 20
• "The Linux Command Line" par William Shotts
• "UNIX and Linux System Administration Handbook"
8.4 Glossaire
• FHS : Filesystem Hierarchy Standard - norme définissant l'organisation des
répertoires
• Root : Peut désigner soit la racine / soit l'utilisateur administrateur
• Montage : Action de rendre un système de fichiers accessible à un point
spécifique
• Inode : Structure de données contenant les métadonnées d'un fichier
• Symlink : Lien symbolique, raccourci vers un autre fichier ou répertoire
Conclusion
La maîtrise de l'arborescence Linux est essentielle pour tout utilisateur ou
administrateur système. Cette structure logique et cohérente permet une gestion
efficace des fichiers et facilite le dépannage.
Avec de la pratique régulière, naviguer dans le système de fichiers Linux deviendra une
seconde nature. N'hésitez pas à explorer, expérimenter (dans un environnement de test
!), et consulter les pages man pour approfondir vos connaissances.
Bonne continuation dans votre apprentissage de Linux !
Page 21