• Aucun résultat trouvé

TYPES DE FICHIERS

Dans le document Td corrigé UNIX - Free pdf (Page 54-59)

3. SYSTEME DE GESTION DE FICHIERS

3.2 TYPES DE FICHIERS

Le systèmes de gestion de fichiers définit essentiellement cinq types de fichiers :

3.2.1 Fichier ordinaire

 Un fichier ordinaire (ou encore normal, régulier, banalisé) est constitué d’une suite finie d’octets sans organisation particulière, et d’un pointeur sur l’octet courant.

 Il ne faut pas confondre les fichiers ordinaires et les fichiers standards (définis ci-après).

3.2.2 Répertoire

 Un répertoire est un conteneur d'autres fichiers, d'un type quelconque.

 La racine de l'arborescence est le conteneur racine.

 Il permet d'associer le nom du fichier et sa position dans l'arborescence.

d i r 1

d i r 2 d i r 3

f i c h ie r 1 , f i c h i e r 2

f i c h i e r 3 f i c h i e r 4

L’utilisateur perçoit l'arborescence d’UNIX sous la forme d’un arbre où les noeuds sont des répertoires (hiérarchisés) et les feuilles des fichiers ordinaires. Le noeud le plus élevé est appelé racine (root) et notée /. C’est le répertoire à partir duquel l’utilisateur va désigner un fichier par son chemin d’accès (pathname) représenté par un arc orienté.

/ r o o t r é p e r t o i r e r a c i n e

b i n e t c d e v l i b u s r h o m e

Un répertoire se distingue des fichiers ordinaires par son type et la structure de ses blocs structurés en entrées de longueur variable jusqu’à 255 caractères depuis les versions 4.2 BSD et SYSTEM V R4), correspondant chacune à un fichier, ou à un sous répertoire.

Description sommaire

Le répertoire /bin contient les commandes binaires publiques.

Le répertoire /etc contient les fichiers et sous répertoires utilisés au démarrage du système.

Le répertoire /dev contient les fichiers de description de tous les périphériques du système.

Le répertoire /lib contient les bibliothèques.

Le répertoire /usr contient les outils publics destinés aux utilisateurs.

Le répertoire /home contient tous les répertoires de travail (home directories) des utilisateurs référencés.

3.2.3 Fichiers standards

Trois fichiers utilisés pour la saisie et l'affichage, appelés fichiers standards sont ouverts au début de toute session de travail. Ce sont:

 le fichier standard d’entrée: le clavier, dont le pointeur est stdin et le descripteur 0,

 le fichier standard de sortie: l’écran, dont le pointeur est stdout et le descripteur 1,

 le fichier standard d’affichage des messages d’erreurs système : l’écran, dont le pointeur est stderr et le descripteur 2.

entrée standard

Commande

sortie standard

messages d'erreur standard

L’appellation fichier standard ne signifie pas que les autres fichiers ne sont pas des fichiers

"normaux" : cela veut seulement dire qu’ils sont différents des fichiers stdin, stdout, stderr Les fichiers autres que les fichiers standards sont les fichiers ordinaires.

3.2.4 Fichiers spéciaux

Définition

Un fichier spécial est défini dans le répertoire /dev ou un de ses sous répertoires. Il représente un périphérique fonctionnant dans un des trois modes de suivants :

mode c (caractère): tous les périphériques,

mode b (bloc): ce sont les supports magnétiques de stockage (disque, bande, etc.) structurés dont les entrées/sorties sont gérées par le système de gestion des fichiers via le cache,

tubes nommés (named pipe).

La représentation par la commande shell ls -l de ces types de fichiers est la suivante: - pour les fichiers ordinaires,

d pour les fichiers répertoire,

b pour les fichiers spéciaux en mode bloc, c pour les fichiers spéciaux en mode non bloc, Les autres types de fichiers sont:

p pour les fichiers spéciaux tube nommé l pour les liens symboliques,

s pour les sockets,

m pour une entrée partagée.

Entrées/sorties de haut niveau

Les opérations d’entrées/sorties de haut niveau assurent le transfert des données entre le processus utilisateur et le noyau.

Entrées/sorties de bas niveau

Les opérations d’entrées/sorties de bas niveau assurent le transfert des données entre le noyau et le support physique.

Entrées/sorties sur les fichiers ou en mode bloc

Elles assurent la lecture et l’écriture de fichiers d’un système de fichiers avec autorisation de lecture anticipé (read ahead) et d’écriture différée (delayed write) dans le cache. Les transferts sont réalisés au niveau supérieur par les primitives de haut niveau et au niveau inférieur par les pilotes de périphérique en mode bloc. L’accès au périphérique est indépendant de l’application.

Entrées/sorties en mode caractère

L’application gérant elle-même le tampon d’entrées/sorties utilise directement la structure des systèmes de fichiers sur le disque et n’utilise pas le cache. Les données sont transmises aux pilotes de périphérique en mode caractère.

Entrées/sorties en mode cru (mode raw)

L’application gère elle-même les tampons associés et l’opération d’entrée/sortie, usuellement exécutée en mode bloc, n’utilise pas le cache.

C a c h e

E s p a c e u t i li s a t e u r o p é r a t i o n s d e h a u t n i v e a u

o p é r a t i o n s d e b a s n i v e a u

M o d e b M o d e c

M o d e r a w M o d e c

3.2.5 Lien matériel et lien symbolique

Inode

Le descripteur d'un fichier est appelé inode.

Lien matériel

 Un lien matériel représente le nombre de chemins d’accès à un fichier donné dans un même système de fichiers. Le fichier est supprimé si ce nombre devient nul.

 Le lien matériel est réalisé entre deux fichiers associés à un même inode. C’est un élément d’un répertoire qui fait référence à un fichier. Un même fichier (avec ses caractéristiques propres: taille, protections, etc.) peut comporter plusieurs liens. On ne peut établir de lien matériel sur un fichier d'une autre partition. La seule façon de reconnaître un lien matériel entre deux fichiers est de visualiser leur numéro d’inode et de constater qu’ils sont identiques. Quand deux fichiers pointent sur le même inode, le fait d’en modifier un modifie automatiquement l’autre.

 Un inode est accessible par une entrée d’un répertoire qui crée un lien matériel entre le fichier et l’inode le matérialisant. Il peut avoir plusieurs chemin d’accès à un inode dans son système de fichiers donc plusieurs liens matériel sur un même inode. Le concept de lien matériel est fondamental: les inodes ne font pas partie d’un répertoire donné. Ils existent séparément et sont accessibles par les liens matériels. Quand le nombre de liens d’un inode devient nul, l’inode est désallouée.

 Un lien matériel définit un deuxième chemin d’accès à un fichier sans en faire de copie effective. Il n'existe qu'une unique occurrence du fichier même si différents chemins d’accès permettent d’y accéder.

/ u s r / l o c a l / t o t o

/ u s r / l o c a l / t u t u

i n o d e i c _ n l i n k = 2

Lien symbolique

 Un deuxième type de liens est défini: le lien symbolique.

 Ce dernier définit un chemin d’accès synonyme de celui du fichier (ordinaire ou répertoire). C’est une entrée d’un répertoire quelconque de l’arborescence définissant un nouvel inode contenant un nouveau chemin d’accès (absolu ou relatif) d’un inode existant (banalisé ou répertoire) d’un système de fichiers quelconque de l’arborescence.

 On en déduit la représentation suivante : / h o m e / p r o f / t o t o

/ u s r / l o c a l / t o t o i c _ n l i n k = 1 i c _ n l i n k = 1

 Le lien symbolique, entre deux fichiers, s’exécute sur des numéros d’inodes différents et peut associer des fichiers se trouvant sur des systèmes de fichiers différents.

 Le lien symbolique généralise la notion de liens matériel à un système de fichiers quelconque.

Toutefois, contrairement à un lien matériel, le déplacement ou la suppression d’un fichier ne modifie pas un lien symbolique sur ce fichier qui ne pointera sur rien si le fichier n’est pas remplacé ou qui pointera sur le nouveau fichier dont l’inode est identique au fichier antérieur.

 Le lien symbolique sur un répertoire est très utile mais n’est pas symétrique. Un changement de répertoire relatif à un fichier accédé par un lien symbolique peut laisser l’utilisateur perplexe quand à sa position dans l’arborescence.

 Le protocole NFS a permis de généraliser la notion de lien symbolique sur des systèmes de fichiers distants ce qui est d’un intérêt considérable pour l’administration de réseaux.

 OSF/DCE introduit la notion de lien symbolique avec temporisation: le fichier cible est contrôlé périodiquement et le lien détruit s’il est inexistant.

Création d’un lien (matériel ou symbolique avec l’option s) Synopsis

ln [-s] fichier_origine lien_destination

Suppression

La suppression d’un lien est effectuée à partir de la commande usuelle de suppression d’un fichier rm.

3.2.6 Commandes d’informations générales

ls Synopsis

ls [option] [fichier(s)] [répertoire(s)]

Description

La commande ls sans options affiche le nom des fichiers du répertoire courant.

Quelques options

a affichage les fichiers silencieux (.mailrc,.profile,...).

l affichage (format long) des informations suivantes:

nom,

type (fichier ordinaire, répertoire, périphérique, lien, etc.), date de dernière modification,

taille (en octets),

attributs de sécurité et de propriétés.

R affichage (récursif) du contenu des sous-répertoires.

file Synopsis

file nom_de_fichier Description

Affichage des informations de type d'un fichier.

Exemple : file * Types de fichiers:

ascii text

archive random library

C program text data

cpio archive directory empty

executable shell script mc68020 executable

symbolic link

roll nroff or eqn input text

3.3 NOMMAGE DES FICHIERS

Dans le document Td corrigé UNIX - Free pdf (Page 54-59)