Skip to content

Introduction à la notion de système de fichiers (file system)

  • Un fichier représente l’unité logique de base pour le stockage permanent sur un disque ou tout autre support physique.
  • Il peut contenir du texte, des données, des programmes, des images, etc.
  • Les fichiers sont organisés dans des répertoires (ou dossiers).
  • Chaque répertoire peut à son tour contenir d’autres sous-répertoires, formant ainsi une structure arborescente.

Nommage des fichiers

  • Le nom d’un fichier est simplement une suite de caractères.
  • L’extension n’indique pas nécessairement le type du fichier : par exemple, un fichier exécutable n’a pas besoin d’extension particulière.
  • Un fichier portant l’extension .txt peut contenir du texte, mais aussi des données binaires.
  • Un fichier peut ne pas avoir d’extension du tout.
  • Les noms de fichiers peuvent contenir des espaces et des caractères spéciaux (comme -, _, .), mais certains caractères sont à éviter (comme / qui est réservé pour les chemins).
  • Les noms de fichiers sont sensibles à la casse : Fichier.txt et fichier.txt sont deux fichiers différents.
  • Les noms de fichiers peuvent commencer par un point (.) : dans ce cas, le fichier est considéré comme caché par les commandes standards (comme ls).
  • Le caractère . fait simplement partie du nom du fichier.

Fichiers cachés

Par défaut, la commande ls ne montre pas les entrées qui commencent par . (répertoire courant) et .. (répertoire parent). Donc les fichiers dont le nom commence par un point sont cachés également.

Pour afficher les fichiers cachés, utilisez l’option -a (all) :

bash
$ ls -a

Fichiers cachés

Les différents types de fichiers

  • Fichiers ordinaires : Ils peuvent contenir du texte, des programmes exécutables (binaires) ou des données. Le système ne leur impose aucun format spécifique : il les considère simplement comme des suites d’octets.
  • Répertoires : Ce sont des fichiers particuliers qui servent à organiser d’autres fichiers ou sous-répertoires de façon hiérarchique et récursive.
  • Fichiers spéciaux : Ils servent d’interface avec les périphériques matériels (terminaux, disques durs, claviers, etc.). Les opérations de lecture et d’écriture sur ces fichiers sont directement transmises au périphérique associé. Ces fichiers se trouvent généralement dans le répertoire /dev.
  • Fichiers de liens (links) : Ils permettent de créer des références vers d’autres fichiers. Il en existe deux types :
    • Liens symboliques (symlinks) : Un lien symbolique est comme un raccourci : il pointe vers le chemin d’un autre fichier ou dossier. Si le fichier cible est supprimé, le lien symbolique "devient cassé" (car il pointe vers quelque chose qui n’existe plus).
    • Liens physiques (hard links) : Ils permettent à plusieurs noms de faire référence exactement au même fichier sur le disque. Ainsi, supprimer l’un des noms ne supprime pas le contenu du fichier tant qu’il existe au moins un autre lien physique qui y fait référence. Les liens physiques ne fonctionnent que sur un même système de fichiers.

Exemple de liens et de répertoires

Types de fichiers

On peut identifier le type d’un fichier en utilisant la commande ls -l qui affiche une liste détaillée des fichiers dans un répertoire. Le premier caractère de chaque ligne indique le type de fichier :

  • - : fichier ordinaire
  • d : répertoire
  • l : lien symbolique

Par exemple, dans la sortie ci-dessus :

  • le lien bin est un lien symbolique pointant vers le répertoire /usr/bin

Systèmes de fichiers

Un système de fichiers (ou File System) est une structure qui organise et gère le stockage des données sur un disque ou une partition.

Sous Linux :

  • Le répertoire racine, noté / (slash), est le point de départ de toute l’arborescence.
  • L’ensemble du système repose sur un arbre unique : tous les fichiers et répertoires sont accessibles à partir de cette racine.
  • Chaque répertoire peut contenir des fichiers ou d’autres sous-répertoires, créant une structure hiérarchique.
  • Un disque ou une partition supplémentaire (clé USB, disque externe, etc.) est intégré à l’arborescence en tant que sous-arbre, rattaché à un point de montage dans l’arbre principal.

Schéma d'un système de fichiers Linux

Source

Principaux répertoires et leurs utilités

Dans un système Linux, les répertoires principaux sont organisés de manière hiérarchique. Voici les principaux répertoires et leur utilité :

Répertoires système essentiels :

  • /bin : commandes de base (ls, cp, mv...).
  • /sbin : commandes d'administration système.
  • /boot : fichiers de démarrage (noyau, initrd).
  • /etc : fichiers de configuration du système (paramètres des logiciels et du système).
  • /lib : bibliothèques partagées essentielles pour exécuter les programmes.

Répertoires en mémoire

Ces répertoires contiennent des fichiers représentant l’ensemble du système, stockant des informations telles que les périphériques, les données des processus et d’autres informations système.

  • /dev : Les périphériques physiques comme les disques durs (HDD), clés USB ou lecteurs optiques sont représentés ici. Par exemple, le disque dur principal peut apparaître sous /dev/sda et une clé USB sous /dev/sde. Les différentes partitions sont également visibles, comme /dev/sda1, /dev/sda2, etc.
  • /proc : Ce répertoire expose des informations sur les processus et le système sous forme de fichiers. Il sert d’interface entre le noyau et les processus en cours d’exécution. Il s’agit d’un système de fichiers virtuel, car il ne contient que des informations dynamiques et non des fichiers "réels".
  • /sys : Comme /dev, il s’agit d’un répertoire virtuel créé au démarrage. Il contient des informations sur tous les périphériques connectés au système.

Répertoires utilisateurs :

  • /home : dossiers personnels des utilisateurs.
  • /root : dossier de l'administrateur.
  • /usr : contient la majorité des programmes, librairies et utilitaires utilisateur. Historiquement, il pouvait aussi contenir les anciens dossiers personnels.

Répertoires variables :

  • /var : pour les fichiers dont la taille varie constamment (logs, caches, bases de données). Contrairement à /tmp, certains fichiers ici ne sont pas supprimés au redémarrage.
  • /tmp : fichiers temporaires supprimés au redémarrage.

Points de montage :

  • /media : médias amovibles (USB, CD)
  • /mnt : point de montage pour les systèmes de fichiers temporaires.
  • /opt : pour installer des logiciels additionnels qui ne viennent pas du gestionnaire de paquets.

Autres répertoires importants :

  • /lost+found : dossier propre à certains systèmes de fichiers (comme ext4), où sont stockés les fichiers récupérés après une panne ou une corruption.
  • /srv : données spécifiques aux services fournis par le système (serveurs web, FTP, etc.).

Les répertoires . et ..

Quand un répertoire est créé, deux entrées spéciales sont automatiquement ajoutées :

  • Le répertoire . représente le répertoire courant.
  • Le répertoire .. représente le répertoire parent du répertoire courant.

Liens utiles

Quiz 🎉

👋🏾 Cliquez sur la bonne réponse.

1 / 12 👉🏾 Qu’est-ce qu’un fichier dans un système informatique ?
  • A. Une unité logique pour le stockage permanent de données

  • B. Un dossier contenant des sous-dossiers

  • C. Un logiciel d’installation

  • D. Un périphérique matériel

.