Вы находитесь на странице: 1из 9

PARTIE 4.

Système de fichiers LINUX

1) Introduction

Le système de fichiers correspond au type de formatage qui va être appliqué à une partition,
c'est ce qui permet de retrouver un fichier sur un disque dur. Le système de fichiers de Linux
est tout entier organisé à l'intérieur d'une seule arborescence. Le système de fichiers peut faire
référence à un ou plusieurs disques durs locaux ou distants, lesquels peuvent contenir une ou
plusieurs partitions (aussi appelée un volume, une unité ou un disque). Le système de fichiers
de Linux est à géométrie variables, il est compatible avec la plupart des systèmes de fichiers
éxistant dans le monde (et entre autre les systèmes FAT, FAT 32 ou NTFS de Windows de
Microsoft), il peut gérer la plupart des support physiques, et il peut s'agrandir à tout moment
(l'administrateur du système peut créer un nouveau point de montage n'importe où dans
l'arborescence).

2) Principe
a. Définition
Pour un système d’exploitation, un fichier est une suite d’octets. Chaque fichier est
identifié par un nom auquel on associe un emplacement sur le disque (une référence) et
possède un ensemble de propriétés : ses attributs. Le formatage d’un disque ou d’une clé USB
consiste à créer l’organisation logique permettant d’y mettre des données. Cette organisation
logique est ce que l’on appelle système de fichiers.

b. Représentation

Le système de fichier est conçu de telle sorte que les utilisateurs puissent accéder
aisément à leur donnée et effectuer des traitements via des commandes. De même le système
de fichier doit permettre aux programmes d’y accéder.
Sous Linux, le système de fichiers est organisé sous forme d’un arbre de répertoires et de sous-répertoires
à partir d’une racine commune.

c. Qualifications d’un système de fichiers

Plusieurs attributs (métadonnées) définissent un système de fichiers. Sous linux, les principaux sont
:
• la taille maximale ;
• les droits d’accès ;
• les dernières dates d’accès et de modification ;
• le propriétaire et le groupe ;
• le nombre de blocs utilisés ;
• le type de fichiers ;
• le compteur de liens ;
• un arbre d’adresses de blocs de données.

II) Les types de systèmes de fichiers

De nombreux types de système de fichiers sont reconnus par LINUX:

• Les systèmes de fichiers Unix:


o MINIX pour Unix o SYS V pour Unix Système V o UFS pour Unis
BSD o UMSDOS pour Unix sur une partition MSDOS o EXT pour
l'ancien Linux native. o EXT2FS ou EFS pour Linux native. o EXT3FS
pour Linux native 3° génération avec la journalisation des fichiers.
o REISERFS
• Les systèmes de fichiers Microsoft:
o MSDOS ou FAT pour la FAT 16 de DOS et de Windows 95.
o VFAT pour la FAT 32 de Windows 95/98
o NTFS pour Windows NT
o JOLIET pour le CDROM à nom long de Microsoft Les autres systèmes de fichiers:
o HPFS pour OS/2
o HFS pour MAC OS et APPLE MACINTOSH o ISO 9660 pour les CDROM o XIAFS
• Les systèmes de fichiers réseaux:
o CODA pour les réseaux Unix o NFS pour
Network File System des réseaux Linux o SMB
pour les réseaux Windows de Micorosoft o NCP
pour les réseaux Netware de Novell

Les types de systèmes de fichiers installés (montés) sur un ordinateur sont enregistrés dans le
fichier "/etc/fstab " (file system table). La commande "fdisk" affiche certaines informations
sur les systèmes de fichiers montés. Sous Linux et contrairement à Windows, tous les lecteurs
sont regroupés dans une arborescence unique ("/").

III) Les droits d'accès

Les droits d'accès ou permissions permettent de restreindre à certains utilisateurs ou à certains


groupes d'utilisateurs l'accès à certains fichiers ou à certains répertoires.

Il y a trois types de droits d'accès:


• read (r) pour l'accès en lecture au fichier (permet l'impression, l'affichage et la copie d'un fichier, et
permet la traversée du répertoire ou l'affichage des fichiers d'un répertoire)
• write (w) pour l'accès en écriture au fichier (permet la modification d'un fichier, et permet
l'effacement d'un fichier ou l'enregistrement d'un fichier dans un répertoire)
• execute (x) pour la possibilité d'exécuter le fichier (permet l'execution d'un programme, d'un
executable, et permet d'accéder aux informations de gestions des fichiers du répertoire, comme
l'inode, la table des droits,...).

Pour chaque fichier, les droits d'accès sont fixés pour trois catégories d'utilisateurs:

• user (u) : le propriétaire du fichier


• group (g) : le groupe propriétaire du fichier
• other (o) : les autres utilisateurs
• all (a) : tous les utilisateurs

Pour afficher les droits de tous les fichiers du répertoire courant: ls


-l
Les droits d'accès peuvent également s'exprimer sous leur forme octale , c'est à dire à l'aide
de chiffre de 0 à 7 (il y a donc huit possibilités, lesquelles peuvent être fixées avec seulement
3 bits). A chacun des droits (r, w, x) correspond une valeur octale (4, 2, 1), les valeurs octales
sont cumulées pour chaque type d'utilisateur (u, g, o). Pour chaque type d'utilisateur (u, g, o),
la valeur en octale peut prendre les valeurs 0, 1, 2, 3, 4, 5, 6 et 7. Par exemple, la combinaison
de tous les droits cumulés pour les trois types d'utilisateurs (rwx rwx rwx) est équivalente à la
valeur octale 777.

• 0 signifie aucun droit


• 1 correspond au droit executable (--x)
• 2 correspond au droit d'écriture (-w-)
• 3 correspond aux droits cumulés d'execution et d'écriture (-wx)
• 4 correspond au droit de lecture (r--)
• 5 correspond aux droits cumulés de lecture et d'execution (r-x)
• 6 correspond aux droits cumulés de lecture et d'écriture (rw-)
• 7 correspond aux droits cumulés de lecture, d'écriture et d'execution (rwx)

Par exemple:
666 donne le droit à tous en lecture et en écriture
777 donne tous les droits à tous
700 donne tous les droits au propriétaire de fichier

IV) Création d’un système de fichiers

Utiliser la commande mkfs pour créer un système de fichiers sur un disque ou sur une partition.

La création d’un système de fichier est similaire au formatage.


Par exemple, la commande ci-dessous permet de créer un système de fichier en ext3, avec pour

label « sys_data »: mkfs -t ext3 -L sys_data /dev/sda5

L’option -t sert à spécifier le type du système de fichier, tandis que -L permet de définir le label

du volume. Par défaut le système de fichier est : ext2

V) Montage d’un système de fichiers

Un système de fichiers Linux est accessible uniquement si elle est montée sur la hiérarchie du

système de fichiers (structure arborescente). Le répertoire utilisé pour monter le système de

fichier est appelé le point de montage. Tout répertoire peut agir comme un point de montage

pour tout type de système de fichiers, et les systèmes de fichiers montés peuvent contenir

d’autres systèmes de fichiers montés. Le montage d’un système de fichiers masque le contenu

précédent du répertoire de point de montage, d’où il est préférable d’utiliser un répertoire vide

pour le montage. Le répertoire / mnt est fourni comme point de montage temporaire.

Utiliser la commande mount pour manipuler les systèmes de fichier.

Ex :

# mount -t ext2 /dev/hda2 /home

# ls /home

Lorsqu’un système de fichiers n’est plus nécessaire, il peut être démonté. Pour cela utiliser la

commande unmount.

Ex :

# umount /home

# ls /home
VI) Les règles de nomage des fichiers

Les anciens unix étaient limités à 14 caractères, mais de nos jours les noms de fichier long sont gérés de 1 à
255 caractères .
La barre oblique ou "slash" (/) est interdit puisque c'est le délimiteur de répertoires dans
l'arborescence, et qu'elle représente la racine, c'est à dire le sommet de l'arborescence. Les
fichiers dont le nom commence par un point sont des fichier cachés ou masqués, ils n'apparaissent
pas par défaut avec la commande "ls" sans l'options "-a", et la plupart des commandes n'en
tiennent pas compte à moins d'y faire mention explicitement.

Le double point (..) identifie le répertoire parent et le point (.) identifie le répertoire courant
ou répertoire de travail. Ces deux fichiers éxistent dans tout les répertoires. Il n'est donc pas
possible de nommer un fichier avec un seul point ou avec deux points puisque les pointeurs
existent déjà (il n'est pas possible d'avoir deux fichiers portant le même nom dans le même
répertoire, et il n'est pas possible de supprimer le pointeur vers le répertoire courant, ni vers
le répertoire parent).

VII) Les caractères spéciaux

L'espace, la tabulation et le passage à la ligne sont appelés "white space".


Le "slash" est le symbole utilisé pour représenter la racine ("root directory"); c'est aussi le
délimiteur ou le séparateur de répertoires. le "slash" est le seul caractère interdit pour
nommer un fichier.

Les jokers

Les jokers ("?", "*", "[]") sont aussi appelés caractères génériques parcequ'ils peuvent remplacer
tout ou partie d'un chemin, d'un répertoire ou d'un nom de fichier.

Pour remplacer n'importe quelle chaîne de caractère: *


Pour inclure tous les noms commençant par une lettre majuscule allant de A à X:
[A-X]*
Pour remplacer deux caractères:

??

VIII) L’arborescence de LINUX


L'arborescence de Linux ou celle de tout autres systèmes Unix commencent toujours par la
racine ("root dirctory"). Les premiers répertoires justes en dessous de la racine sont
réparties par fonctionnalités. Selon les distributions et/ou l'installation de LINUX, les fichiers
de l'arborescence ne sont pas les même et ne sont pas enregistrés au même endroit.

Exemple d’arborescence

L’arborescence typique d’un système Linux est comme suit


IX) Chemins relatifs et chemins absolus

Sous Linux le disque est organisé en une structure hiérarchique, c'est-à- dire en une
arborescence de répertoires. Chaque répertoire contient des noms de fichiers ou de sous
répertoires qui contiennent eux-mêmes des noms de fichiers et de sous répertoires, etc. ...
Pour retrouver un répertoire ou un fichier,il sera donc nécessaire d'énumérer la séquence de
répertoires à traverser pour aboutir au répertoire ou au fichier souhaité. Cette séquence est
appelée chemin d'accès
TP : Commandes shell de manipulations de fichiers