Vous êtes sur la page 1sur 20

Le système de fichiers Linux Version 2015

LE SYSTEME DE FICHIERS LINUX

I. Objectif du chapitre :
A l’issu de ce chapitre, l’étudiant sera capable de comprendre et de manipuler les notions
suivantes : Organisation des fichiers, arborescence de répertoires, partitionnement de disque,
formatage, montage, commandes de manipulation des répertoires, commandes de manipulation
des fichiers, droits d’accès.

II. Plan du chapitre :


1. Définitions
2. Gestion des partitions
3. Utilisation du système de fichiers
4. Droits d’accès

[10]
Le système de fichiers Linux Version 2015

1. DEFINITIONS
Un système d’exploitation est un ensemble de programmes qui assurent la gestion de
l’ordinateur et de ses périphériques.
• Qu’est-ce qu’un fichier ?
Pour le système d'exploitation, un fichier est une suite d'octets. Par contre, les
utilisateurs peuvent donner des significations différentes au contenu d'un fichier (suites
d'octets, suite d'enregistrements, arbre, etc.). 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.
• Qu’est-ce qu’un système de fichier ?
Un système de fichier est une organisation physique des données sur un support de
sauvegarde (disque dur, clé USB, DVD,…).
• Qu’est-ce qu’une arborescence ?
Une arborescence est une organisation logique des fichiers sur un ou plusieurs systèmes
de fichiers.
Il s’agit d’une structure de données hiérarchique de type arbre.

Sous-
Racine Répertoire Fichiers
Répertoire

httpd.conf
apache
etc
samba
/

home user1 exo1.c

Figure 3 : Exemple d’arborescence


• Quelle est l’arborescence typique du système Linux ?

etc bin boot home root usr var dev proc

[11]
Le système de fichiers Linux Version 2015

✓ etc : répertoire contenant les fichiers de configuration ;


✓ bin : répertoire contenant les principales commandes disponibles pour les
utilisateurs ;
✓ boot : répertoire contenant les fichiers de démarrage du système
contenant le noyau ;
✓ home : répertoire contenant les répertoires personnels des utilisateurs ;
✓ root : répertoire personnel du super-utilisateur ;
✓ usr : répertoire contenant les logiciels et les librairies supplémentaires ;
✓ var : répertoire contenant les journaux systèmes ;
✓ dev : point d’entrée vers les périphériques ;
✓ proc : pseudo-système contenant des informations sur les processus en
exécution.
• Les symboles associés à l’arborescence :
Sous le système Linux, plusieurs symboles sont utilisés pour désigner les répertoires. On
cite pour cela :
✓ Le « . » : pour désigner le répertoire courant ;
✓ Le « .. » : pour désigner le répertoire parent ;
✓ Le « ~ » : pour désigner le répertoire personnel de l’utilisateur ;
Il faut aussi citer à ce stade quelques commandes de base utiles pour la manipulation de
l’arborescence, à savoir :
✓ La commande « cd » permet de changer de répertoire ;
✓ La commande « ls » permet de lister le contenu d’un répertoire ;
✓ La commande « pwd » permet de connaître le répertoire courant ;
✓ Exemples :
user1@serv-linux:~ $ cd /etc/apache2
user1@serv-linux:/etc/apache2 $ cd ..
user1@serv-linux:/etc $ ls .
user1@serv-linux:/etc $ cd ~
user1@serv-linux:~ $ pwd
/home/user1

[12]
Le système de fichiers Linux Version 2015

2. GESTION DES PARTITIONS


a. Rappels sur les disques durs :

• Un disque dur est constitué de 1 ou plusieurs plateaux superposés.


• Chaque plateau est divisé en pistes (tracks).
• Chaque piste est divisée en secteurs (sectors).
• Le cylindre est formé par les pistes de même rayon sur chaque plateau.
• La capacité d’un disque dépend de la taille des secteurs et du nombre de cylindres
et donc du nombre de plateaux.
• Le formatage d’un disque est effectué à 2 niveaux :
✓ En usine : le formatage bas niveau des pistes et des secteurs ;
✓ Par l’utilisateur : le formatage haut niveau pour créer le système de
fichiers (notamment lors de l’installation du système d’exploitation).
b. Organisation d’un disque dur :
Typiquement, un disque dur est organisé de la façon suivante :

MBR Partition Système Partition données

Le Master Boot Record (MBR) est situé dans les premiers secteurs du disque. Il est
constitué de 2 parties :
• La table de partition ;
• Le programme d’amorçage qui charge le noyau du système d’exploitation.

[13]
Le système de fichiers Linux Version 2015

Dans un disque dur, plusieurs types de partitions peuvent coexister. On peut mentionner
les partitions principales, étendues et logiques.
• Les partitions principales :
o Sont au maximum de 4

Pourquoi ?

Partitionnement Intel (MBR) : c'est le mode de partitionnement


historique des ordinateurs de type IBM PC-compatible et, en
2013, celui qui est le plus répandu. Dans ce modèle, une zone
de 512 octets appelée le Master Boot Record (MBR) est
réservée en début de disque pour contenir l'information relative
à un maximum de 4 partitions.

o Accepte tout type de système de fichiers.


• Les partitions étendues :
o Sont destinées à contenir des partitions logiques et non au système de
fichiers,
o Nécessitent au moins une partition principale.
• Les partitions logiques :
o Sont contenues dans une partition étendue,
o Accepte tout type de systèmes de fichiers.
• Exemple permettant d’installer plusieurs systèmes d’exploitation :

Partition étendue
MBR Partition principale Partition principale
Logique Logique Logique

c. Désignation des partitions sous Linux :


Le pointeur spécial /dev permet l’accès aux disques. Pour dénommer les disques, un
format est adopté : /dev/XXYZ où
XX désigne le type de bus : hd pour les périphériques de type IDE
sd pour les périphériques de type SATA

[14]
Le système de fichiers Linux Version 2015

Y désigne la lettre de périphérique : "a" pour le maître de la nappe IDE primaire


"b" pour l'esclave de la nappe IDE primaire
"c" pour le maître de la nappe IDE secondaire
"d" pour l'esclave de la nappe IDE secondaire
Z désigne le numéro de la partition

Exemples :
• /dev/hda1 : partition 1 sur le 1er disque IDE
• /dev/sdb2 : partition 2 sur le 2ème disque SATA

d. Les formats des systèmes de fichiers :


Les données sont normalement présentées à l'utilisateur et aux programmes selon une
organisation structurée, sous la forme de répertoires et de fichiers. Pour pouvoir stocker ces
données structurées sur un périphérique, il faut utiliser un format qui les représente sous la
forme d'une succession de blocs de données : c'est ce qu'on appelle un système de fichiers.
Sous Windows, les systèmes de fichiers disponibles sont : FAT, FAT32 et NTFS.
Sous Linux, il y plusieurs systèmes de fichiers. Le tableau suivant résume les types des
systèmes de fichiers et leurs caractéristiques.1

Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

Extended File System est le système de fichiers


natif de Linux. En ses versions 1 et 2, on peut le
considérer comme désuet, car il ne dispose pas de
ext2fs
la journalisation. Ext2 peut tout de même s'avérer
(Extended Non Oui
utile sur des disquettes 3½ et sur les autres
File System)
périphériques dont l'espace de stockage est
restreint, car aucun espace ne doit être réservé à
un journal.

1
Source : http://doc.ubuntu-fr.org/systeme_de_fichiers
[15]
Le système de fichiers Linux Version 2015

Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

ext3 est essentiellement ext2 avec la gestion de la


journalisation. Il est possible depasser une
ext3fs Oui Oui
partition formatée en ext2 vers le système de
fichiers ext3 (et vice versa) sans formatage.

ext4 est le successeur du système de fichiers ext3.


Il est cependant considéré par ses propres
ext4fs Oui Oui concepteurs comme une solution intermédiaire en
attendant le vrai système de nouvelle génération
que sera Btrfs

Développé par Hans Reiser et la société Namesys,


ReiserFS est reconnu particulièrement pour bien
gérer les fichiers de moins de 4 ko. Un avantage du
ReiserFS, par rapport à ext3, est qu'il ne nécessite
pas une hiérarchisation aussi poussée: il s'avère
ReiserFS Oui Oui intéressant pour le stockage de plusieurs fichiers
temporaires provenant d'Internet. Par contre,
ReiserFS n'est pas recommandé pour les
ordinateurs portables, car le disque dur tourne en
permanence, ce qui consomme beaucoup
d'énergie.

Développé par Microsoft, ce système de fichiers se


rencontre moins fréquemment aujourd'hui. Il reste
néanmoins utilisé sur les disquettes 3½ formatées
FAT sous Windows et devrait être utilisé sous Linux si
(File une disquette doit aussi être lue sous Windows. Il
Non Non*
Allocation est aussi utilisé par plusieurs constructeurs comme
Table) système de fichiers pour cartes mémoires
(memory sticks), car, bien documenté, ce système
de fichiers reste le plus universellement utilisé et
accessible.

[16]
Le système de fichiers Linux Version 2015

Nom de Gestion
Journalisée
système de des droits Notes
ou non ?
fichiers d'accès?

Ce système de fichiers, aussi créé par Microsoft,


est une évolution de son prédécesseur. Depuis ses
versions 2000 SP4 et XP, Windows ne peut pas
formater (ou bloque volontairement le formatage)
une partition en FAT32 d'une taille supérieure à 32
FAT32 Non Non*
Go. Cette limitation ne s'applique pas sous Linux,
de même qu'avec des versions antérieures de
Windows. Une partition FAT32 d'une taille
supérieure à 32 Go déjà formatée pourra être lue
par Windows, peu importe sa version.

Ce système de fichiers a aussi été développé par


Microsoft, et il reste très peu documenté.
NTFS
L'écriture depuis Linux sur ce système de fichiers
(New
Oui Oui* est stable à l'aide du pilote ntfs-3g. Ce pilote est
Technology
inclus de base dans Ubuntu 7.10, et disponible en
File System)
paquets dans les dépôts pour les versions
antérieures.

e. L’espace d’échange « swap »


L'espace d'échange, plus généralement appelée par son terme anglais swap space ou
simplement swap, est une zone d'un disque dur faisant partie de la mémoire virtuelle de
l’ordinateur. Il est utilisé pour décharger la mémoire vive physique (RAM) de l’ordinateur lorsque
celle-ci arrive à saturation. L'espace d'échange, dans Ubuntu, se trouve généralement sous une
forme de partition de disque dur – on parle alors de partition d'échange. Il peut aussi se
présenter sous forme de fichier – on parle alors de fichier d'échange.
Par défaut, Linux calcule et s'attribue automatiquement un espace d'échange suffisant ou
recommandé lors de son installation. Il n'est pas nécessaire d'effectuer des tâches
supplémentaires pour assigner un espace d'échange minimum à Linux.
Comment calculer l’espace d’échange ?

[17]
Le système de fichiers Linux Version 2015

• Si l’ordinateur dispose de 1 GO de RAM ou plus : On Alloue un espace d'échange de 1× à


1,5× la taille de la RAM ;
• Votre ordinateur dispose de moins de 1 GO de RAM : On Alloue un espace d'échange de
1,5× à 2× la taille de votre RAM.
f. Points de montage :
Un nouveau périphérique de stockage, lorsqu'il est détecté, est la plupart du temps
monté automatiquement. Mais il peut être intéressant de monter manuellement, ou de spécifier
des options de montage ou de modifier celles des partitions système.
Un point de montage est une association entre une partition physique et l’arborescence
du système.
Pour monter un périphérique, il faut connaître son nom, qui sera de la forme /dev/sda1,
par exemple.
La commande mount permet de manipuler tous les montages de systèmes de fichier de
manière très précise. Par exemple, pour monter l'unité de stockage "/dev/sdc3" dans le dossier
"/media/stock" :
#mount /dev/sdc3 /media/stock
Le système de fichier utilisé est détecté automatiquement.
Le point de montage doit être un dossier, quelconque mais existant et vide au moment
du montage.
Ubuntu monte automatiquement au démarrage du système tous les périphériques à
partir du fichier /etc/fstab.
Pour supprimer un point de montage, on utilise la commande umount.
#umount /dev/sdc3

g. Mise en place d’un nouveau disque


Pour mettre en place une nouvelle partition dans le système, 3 étapes sont nécessaires :
• Création de la partition : on utilise alors la commande fdisk.
• Initialisation du système de fichiers : on utilise pour cela la commande mkfs.
• Création d’un point de montage : on se sert de la commande mount.

[18]
Le système de fichiers Linux Version 2015

3. UTILISATION DU SYSTEME DE FICHIERS :

Sous linux, tout est fichier, organisé suivant une unique arborescence (dont la racine est
nommée / et dont l'administrateur est root)

a. LES DIFFERENTES CATEGORIES DE FICHIERS


• fichiers normaux (-) : fichiers normaux : texte : courrier, sources des
programmes, scripts, configuration ; exécutables : programmes en code binaire. La
commande suivante donne :
$ ls – l
-rwxrw-r-- soufiene ens 20 2014-10-15 14 :52 toto

• fichiers répertoires (d) : ce sont des fichiers conteneurs qui contiennent des
références à d'autres fichiers. Ils permettent d'organiser les fichiers par
catégories.
La commande suivante donne :
$ ls – l
drwxr-r-- soufiene ens 100 2014-10-15 14 :43 mon_dossier

• fichiers spéciaux : situés dans /dev, ce sont les points d'accès préparés par le
système aux périphériques. Le montage va réaliser une correspondance de ces
fichiers spéciaux vers leur répertoire "point de montage". Par exemple, le fichier
/dev/hda permet l'accès et le chargement du 1er disque IDE.
• fichiers liens symboliques (l) : ce sont des fichiers qui ne contiennent qu'une
référence (un pointeur) à un autre fichier. Cela permet d'utiliser un même fichier
sous plusieurs noms sans avoir à le dupliquer sur le disque.
$ ls – l
lrwxrw-r-- soufiene ens 20 2014-10-15 14 :52 lientoto -> toto

b. COMMENT SE REPERER DANS LE SYSTEME DE FICHIERS :


La ligne de commande suivante donne des informations sur l’utilisateur en cours, le nom
de la machine, le répertoire courant et le type d’utilisateur (super utilisateur ou utilisateur) :

[19]
Le système de fichiers Linux Version 2015

Utilisateur courant Répertoire courant

Nom de la machine # : Super utilisateur


$ : Utilisateur normal
La commande pwd permet de savoir quel est le répertoire courant.

c. CONNAITRE LE CONTENU D’UN REPERTOIRE :


La commande ls permet de lister les fichiers contenus dans un répertoire.

L’option - l permet d’afficher la liste des fichiers avec détails :

L’option - a permet d’afficher la liste des tous fichiers y compris les fichiers cachés :

[20]
Le système de fichiers Linux Version 2015

L’option - i permet d’afficher la liste des fichiers avec leurs numéros d’index (i-node) :

d. SE DEPLACER DANS LE SYSTEME DE FICHIERS :

La commande cd permet de changer de répertoire.

Les symboles suivants ont une signification particulière :


• « . » : le point désigne le répertoire courant. Exemple :

• « .. » : les deux points désignent le répertoire parent. Exemple :

• « ~ » : le tilde désigne le répertoire home de l’utilisateur courant. Exemple :

Il existe deux méthodes pour spécifier un chemin dans le système de fichiers :


• Chemin relatif : dépend du répertoire courant.
• Chemin absolu : débute à la racine du système (commence toujours par « / » ).

e. GERER LES REPERTOIRES :


• mkdir: permet de créer un ou plusieurs répertoires, dont les noms sont précisés en
arguments. Elle renvoie un message d'erreur dans les cas où la création est
impossible.

• rmdir : permet d'effacer un ou plusieurs répertoires passés en arguments.


[21]
Le système de fichiers Linux Version 2015

Ces répertoires doivent être vides.

Maintenant, on va créer de nouveau le répertoire rep1 ainsi qu’un sous répertoire. On


va ensuite essayer de supprimer le répertoire rep1 :

• rm – r : permet d’effacer un répertoire non vide.

f. GERER LES FICHIERS :

• cat : permet d’afficher, de créer, de copier et de concaténer des fichiers.

• more : permet d’afficher à l’écran un fichier page par page. (déjà utilisé par la cmde
man).

• rm : supprime un ou plusieurs fichiers d’un répertoire.

• cp : permet de copier un ou plusieurs fichiers, en changeant éventuellement leurs


noms. La syntaxe est la suivante :

[22]
Le système de fichiers Linux Version 2015

• mv : permet de renommer un fichiers ou un répertoire, ou de déplacer un ou


plusieurs fichiers dans l'arborescence, en changeant éventuellement leurs noms.
Cette commande est équivalente à une copie puis une suppression.

• ln : permet de désigner un fichier par plusieurs noms différents.


En effet, un lien est un type spécial de fichier qui fait référence à un autre fichier. Le lien
permet de créer des raccourcis vers des fichiers existants. Il permet aussi d’éviter de
stocker plusieurs fois le même fichier dans des répertoires différents.
On distingue deux types de liens :
▪ Le lien symbolique qui est une référence vers un fichier cible. Lorsque le fichier
cible est effacé, le lien est rompu ; et au contraire, lorsque le lien est effacé, le
fichier cible n’est pas effacé.
La commande ln avec l’option –s est utilisée pour créer un lien symbolique.
▪ Le lien physique est associé à un emplacement sur le support de stockage.
▪ La commande ln sans option permet de créer un lien physique.

[23]
Le système de fichiers Linux Version 2015

• touch : permet de créer un fichier vide.

4. DROITS D'ACCES DES FICHIERS


Parmi les informations contenues dans l’inode de tout élément de l’arborescence,
on trouve les droits d’accès. La protection d’un élément repose sur trois droits d’accès
qui contrôlent les trois opérations de lecture (droit r pour read), d’écriture (droit w pour
write) et d’exécution (droit x pour execute). Ces trois droits (rwx) sont appliqués à trois
catégories d’utilisateurs qui sont le propriétaire (user : u) de l’élément, son groupe
(group : g) et les autres utilisateurs (others : o).
La notion de groupe correspond simplement à un ensemble d’utilisateurs
auxquels on peut attribuer les mêmes droits d’accès aux fichiers. Ainsi, chaque utilisateur
appartient à un groupe et son identité qui sert pour les contrôles d’accès est définie par
un numéro d’utilisateur (UID : User IDentification) et un numéro de groupe (GID : Group
IDentification).

Tout système a besoin de comptes spécialisés, avec des droits importants, pour
des tâches d’administration. Sous UNIX, il existe un compte root dit compte de
super-utilisateur, caractérisé par son numéro d’utilisateur (l’UID zéro) qui lui confère les
pleins pouvoirs.

[24]
Le système de fichiers Linux Version 2015

La signification des droits diffère selon le type de l’élément : répertoire ou fichier

Code Répertoires Fichiers


r : lecture Explorer Voir le contenu
w : écriture Ajouter ou supprimer des fichiers Modifier le contenu
x : exécution Autorise l'accès au répertoire Exécuter

a. VISUALISATION DES DROITS D'ACCES


Pour visualiser les droits d'accès, on utilise la commande ls -l. Le 1er caractère
spécifie le type du fichier. Les 9 caractères suivants identifient les droits d'accès
(présence du droit si lettre r, w ou x ; absence de droit si caractère -) et sont structurés de
la façon suivante :

Type droits Nb Liens groupe taille date dernier accès Nom du fichier

propriétaire

[25]
Le système de fichiers Linux Version 2015

b. MODIFICATION DES DROITS D'ACCES


Seul, le propriétaire d'un fichier ou le super utilisateur (root) peut modifier les
droits d'accès d'un fichier. Pour cela, il utilise la commande chmod avec une
description octale ou symbolique.
Pour la description symbolique chmod a la syntaxe suivante :
chmod [who]op[permission] nom_fichier

Où :

• who est une combinaison de lettre u (user), g(group), o(others) ou a (all) pour
ugo. Si aucune classe n'est spécifiée. toutes les classes sont concernées.
• op est l’un des symboles (+ ajouter un droit d’accès, - supprimer un droit d’accès
et = pour affecter un droit absolu : tous les autres bits sont remis à zero).
• Permission est une combinaison des lettres r, w, x.

Pour la description octale, une lettre est équivalente à 1 et un tiret est


équivalent à 0 en binaire. Chacun des trois bits sont codés à part.
Par exemple, Le fichier titi est maintenant possède les droits rwx rwx r-- ce
qui est équivalent à 111 111 100 = 644.

c. INITIALISATION DES DROITS D'ACCES


La protection d’un fichier ainsi que les noms de son propriétaire et de son
groupe sont établis à sa création et ne peuvent être modifiés que par son
propriétaire ou par le super utilisateur (root).
La commande umask permet de définir un masque de protection des fichiers
lors de leur création. Cette commande se trouve dans le fichier .bashrc et elle peut
être exécutée à tout moment. Le masque défini doit être codé en base 8.

[26]
Le système de fichiers Linux Version 2015

[27]
Le système de fichiers Linux Version 2015

Institut Supérieur des Etudes Technologiques de Tozeur

Département Technologies de l’informatique

Systèmes d’exploitation 2

TD N° 2 : Gestion de fichiers sous Linux

Exercice 1 :

Soit l’arborescence suivante :

1. Créer l’arborescence ci-dessus.


2. Ecrire une ligne de commandes permettant d’afficher le contenu du répertoire
personnel /home/etudiant avec des détails sur les fichiers.
3. Ecrire une ligne de commandes permettant d’afficher le chemin absolu du répertoire
courant.
4. Ecrire une ligne de commandes permettant de passer du répertoire personnel au
répertoire images.
5. Vous êtes dans le répertoire images, écrire une ligne de commandes permettant
d’afficher les fichiers qui commencent par le mot perso.
6. Ecrire une ligne de commandes permettant d’afficher les images de type gif.
7. Ecrire une ligne de commandes permettant copier le fichier cv.txt dans le répertoire
documents.

[28]
Le système de fichiers Linux Version 2015

8. Ecrire une ligne de commandes permettant de supprimer le répertoire documents


avec son contenu.
9. Ecrire une ligne de commandes permettant de créer un lien symbolique nommé
lien_images vers le dossier images.

Exercice 2 :

1. Créer un dossier nommé droits et un document monDoc.txt à l’intérieur de ce


dossier.
2. Quels sont les droits d’accès sur le fichier que vous venez de créer pour l’utilisateur ?
le groupe ? les autres ?
3. Convertir en octal les droits d’accès suivants :
4. Modifier les droits sur monDoc.txt tel qu’il soit accessible en lecture pour tout le
monde (les accès et écriture et exécution sont laissés par défaut).
5. Modifier les droits sur le document tel qu’il ait les suivant : r w x r – x r – –
6. Supprimer les droits de lecture au groupe et aux autres utilisateurs.
7. Ajouter les droits d’exécutions aux autres utilisateurs.
8. Ecrire avec plusieurs façons, l’accès total du document par tous les utilisateurs.

[29]

Vous aimerez peut-être aussi