Chapitre 2
Système
d’Exploitation UNIX
Système de Fichiers
BOUKRI KHALIL
Système de Fichiers: Principe de base
❖Un Système de Fichiers est l’organisation des données sur disque
dur définie par le système d’exploitation.
❖les fichiers, sous linux, sont organisés sous forme d’arborescence
de répertoires et de fichiers.
Chaque répertoire contient un
lien vers :
➢lui-même : désigné par un
point .
➢son père : désigné par deux
points .. D
Système de Fichiers: Principe de base
Chaque répertoire contient un
lien vers :
lui-même : désigné par un
point .
son père : désigné par deux
points ..
Le répertoire racine / est un
répertoire particulier
puisque les deux liens: lui-
même . et son père .. le
désigne.
Arborescence Standard
❖ Le système UNIX définit une organisation typique des
répertoires, 1'utilisateur peut créer d'autres répertoires mais un
certain nombre sont nécessaires au fonctionnement du système.
etc usr sbin bin lib home dev tmp
bin src lib Emsig1 Emsig2
SQL Linux C++ PHP
Arborescence Standard
/home Contient répertoires personnels des utilisateurs.
/etc Contient les fichiers d’administration
/bin Contient les exécutables essentiels pour le système,
directement utilisable par les utilisateurs. (Les fichiers
binaires des commandes)
/dev Contient les fichiers associés aux périphériques (=device).
/boot Contient les fichiers permettant à Linux de démarrer.
/lib Contient des bibliothèques partagées essentielles au
système lors du démarrage.
/tmp Contient les fichiers temporaires.
…
Arborescence Standard
Le répertoire /home:
Tous les utilisateurs ont un répertoire personnel (répertoire d'accueil, en
anglais home directory) dans le répertoire /home ou dans un de ses
répertoires subordonnés.
➢La variable d'environnement $HOME contient le chemin d'accès à
ce répertoire.
➢La commande cd, (change directory) sans paramètre, permettra
très simplement de revenir à ce répertoire après avoir activé un autre
répertoire de travail.
Types de Fichiers
On distingue trois types de fichiers:
➢ Fichiers ordinaires
➢ Catalogues (répertoires ou directory)
➢ Fichiers Spéciaux
Fichiers Ordinaires
Ce sont soit des fichiers contenant du texte, soit des exécutables (ou binaires),
soit des fichiers de données.
Par défaut, rien ne permet de différencier les uns des autres, sauf à utiliser
quelques options de certaines commandes (ls -F par exemple) ou la
commande file.
Types de Fichiers
Catalogues
➢Les répertoires permettent d'organiser le disque dur en créant une
hiérarchie.
➢Un répertoire peut contenir des fichiers normaux, des fichiers
spéciaux et d'autres répertoires, de manière récursive.
Fichiers Spéciaux
➢Ce sont le bien souvent des fichiers servant d’interface pour les
divers périphériques. Ils peuvent s'utiliser, suivant le cas, comme des
fichiers normaux.
➢Un accès en lecture ou écriture sur ces fichiers est directement dirigé
vers le périphérique (en passant par le pilote Unix associé s'il existe).
Nomenclature des Fichiers
▪Pour nommer un fichier il faut suivre quelques règles simples. Ces règles sont
valables pour tous les types de fichiers.
▪Sur les anciens systèmes un nom de fichier ne peut pas dépasser 14 caractères.
▪Sur les systèmes récents, on peut aller jusqu'à 255 caractères. Il est possible
d'utiliser des extensions de fichiers mais cela ne modifie en rien le
comportement du système (un exécutable n'a pas besoin d'une extension
particulière).
Unix fait la distinction entre les minuscules et majuscules.
Emsi, EMSI, EmSi et emsi sont des noms de fichiers différents.
La plupart des caractères (chiffres, lettres, majuscules, minuscules, certains
signes, caractères accentués) sont acceptés, y compris l'espace (très
déconseillé). Cependant quelques caractères sont à éviter :
& ; ( ) ~ <espace> \ | ` ? - (en début de nom)
Nomenclature des Fichiers
Quelques noms valides :
Fichier1
Paie.txt
123traitement.sh
Paie_juin_2002.xls
8
Quelques noms pouvant poser problème :
Fichier*
Paie(decembre)
Ben&Nuts
Paie juin 2002.xls
-f
...
Les Chemins
➢ Les chemins permettent de se déplacer dans le système de fichiers.
➢ Un nom de fichier est ainsi généralement complété de son chemin d'accès.
➢ C'est ce qui fait que le fichier « Fich1 » du répertoire « rep1 » est différent
du fichier « Fich1» du répertoire « rep2 ».
➢ Le FS d'Unix étant hiérarchique, il décrit une arborescence.
/
❖Une Arborescence des rep1 rep2 …
fichiers sous Unix
commence par « / » qui Fich1
est la racine ou root
directory. rep22
rep11 rep12 rep21 Fich1
Les Chemins
Le nom de chemin ou
/
path name d'un fichier est
la concaténation, depuis la
racine, de tous les
répertoires qu'il est rep1 rep2 …
nécessaire de traverser
pour y accéder, chacun
Fich1.txt
étant séparé par le rep22
caractère « / ».
rep11 rep12 rep21
C'est un chemin absolu.
Fich1.txt
Exemple: /rep2/rep22/Fich1.txt
Les Chemins
Chemin relatif:
➢Un nom de chemin peut aussi être relatif à
sa position courante dans le répertoire. /
➢Le système (ou le shell) mémorise la usr
position actuelle d'un utilisateur dans le
home
système de fichier, le répertoire actif. On peut
donc accéder à un autre répertoire de Emsig1
l'arborescence depuis l'emplacement actuel Linux
sans taper le chemin complet.
SQL
➢Le « .. » permet d'accéder au répertoire de
niveau supérieur.
Emsig2
➢Le « . » définit le répertoire actif (répertoire
Linux
courant).
C++
Exemple:
Les Chemins
Chemin relatif:
➢Un nom de chemin peut aussi être relatif à
sa position courante dans le répertoire. /
➢Le système (ou le shell) mémorise la usr
position actuelle d'un utilisateur dans le
home
système de fichier, le répertoire actif. On peut
donc accéder à un autre répertoire de Emsig1
l'arborescence depuis l'emplacement actuel Linux
sans taper le chemin complet.
SQL
➢Le « .. » permet d'accéder au répertoire de
niveau supérieur.
Emsig2
➢Le « . » définit le répertoire actif (répertoire
Linux
courant).
C++
Exemple: ../../Emsig1/Linux
Les Chemins
Le Répertoire personnel:
Lors de la création d'un utilisateur, l'administrateur lui alloue un
répertoire utilisateur.
Après une connexion, l'utilisateur arrive directement dans ce
répertoire, qui est son répertoire personnel.
C’est dans ce répertoire que l'utilisateur pourra créer ses propres
fichiers et répertoires.
Le caractère tilde « ~ » est une référence au répertoire
personnel de l’utilisateur.
Commandes de Déplacement
PWD
PWD= Path of Working Directory
Affichage du nom du répertoire de travail en cours.
CD
CD= Change Directory
Changement de répertoire courant.
Commandes de Déplacement
$ pwd /
/home/Emsig1 usr
$ cd projets/Java bin
$ pwd
home
/home/Emsig1/projets/Java
$ cd .. Emsig1
$ pwd Linux
/home/Emsig1/projets
$ cd ../../Emsig2 SQL
$ pwd Projets
/home/Emsig2 Java
$ cd /usr/bin
$pwd Emsig2
/usr/bin Linux
$ cd .././../home/./Emsig1/./..
$ pwd C++
/home
Visualisation de l’arborescence
ls
La commande ls affiche tout d’abord l’ensemble de ses arguments fichiers
autres que des répertoires.
Puis ls affiche l’ensemble des fichiers contenus dans chaque répertoire
indiqué.
-R : Afficher récursivement le contenu des sous-répertoires.
-a : Afficher tous les fichiers des répertoires, y compris les fichiers
commençant par un ‘.’
-i : Afficher le numéro d’index (i-noeud) de chaque fichier à gauche
de son nom.
-l : En plus du nom, afficher le type du fichier, les permissions
d’accès, le nombre de liens physiques, le nom du propriétaire et
du groupe, la taille en octets, et l’horodatage
Visualisation de l’arborescence
Information détaillée sur les fichiers : ls -ail
Visualisation de l’arborescence
Information détaillée sur les fichiers : ls -ail
2769 drwxr-xr-x 3 Emsiiirg1 Emsiiir 4087 2018-10-21 21:13 Linux
2896 -rwxr-xr-x 22 Emsiiirg1 Emsiiir 238 2018-10-20 08:13 Fich1
71452 drwxr-xr-x 4 Emsiiirg1 Emsiiir 6700 2018-10-20 08:13 SQL
Propriétaire La taille du Le nom du
Numéro Les Droits ficher ficher
d’inode
Nombre de Groupe du
liens physique propriétaire Date de
sur le fichier dernière
modification
Type du
Fichier
Visualisation de l’arborescence
Types et modes d’accès au fichier
Manipulation des noms de fichiers :
basename, dirname
basename
La commande basename élimine les répertoires en tête du chemin
d’accès du fichier.
Exemple:
$ basename /usr/local/bin/lynx
lynx
dirname
dirname ne conserve que les répertoires en tête du chemin d’accès
du fichier.
Exemple:
$ dirname /usr/local/bin/lynx
/usr/local/bin
Type des fichiers : file
file
Tente de deviner le type du fichier (répertoire, exécutable, binaire …)
Exercices