Système de fichiers

Système de fichiers

 L’ARBORESCENCE

Le système de fichiers constitue un élément clé du système Linux. C’est encore à maints égards une des grandes forces de Linux. Vu par l’utilisateur, le système de fichiers est organisé en une structure arborescente dont les nœuds sont des répertoires et les feuilles des fichiers ordinaires. Les fichiers sont des récipients contenant des données. Pour le noyau du système, ils ne contiennent qu’une suite d’octets plus ou moins longue. Linux en lui–même ne connaît ni enregistrement ni structure de fichier. C’est aux programmes d’application de les implanter et de les gérer. Le système Linux ne connaît que trois types de fichiers : ● Les fichiers ordinaires (regular files). Ils servent à mémoriser les programmes et les données des utilisateurs et du système. ● Les fichiers répertoires ou répertoires (directories). Chaque répertoire contient la liste et la référence des fichiers placés sous son contrôle et la référence du répertoire dont il dépend (répertoire père). ● Les fichiers spéciaux. Ils désignent les périphériques, les tubes ou autres supports de communication interprocessus. Les fichiers spéciaux associés aux périphériques peuvent être caractères (terminaux) ou blocs (disque) ; les entrées/sorties (E/S) se font soit caractère par caractère, soit bloc par bloc, un bloc étant composé de n caractères (512, 1024 ou 2048). L’extension du système de fichiers aux périphériques constitue une des grandes particularités de Linux. Cela permet à un utilisateur de diriger les données produites Système de fichiers 20 3 • Système de fichiers par son application vers un fichier ou un périphérique. Autre conséquence, les noms des fichiers et des périphériques obéissent à la même syntaxe et l’accès aux périphériques est contrôlé par le mécanisme de protection des fichiers. Le système de fichiers est organisé en une seule arborescence logique. Cet arbre est composé de répertoires qui contiennent eux–mêmes d’autres répertoires, ou des fichiers. La figure 3.1 représente un exemple simplifié de cette arborescence.

LA CLASSIFICATION DES FICHIERS LINUX

Dans la présentation de la structure du système de fichiers au paragraphe précédent, nous avons évoqué des fichiers de type répertoire, des fichiers de type ordinaire et des fichiers spéciaux. La syntaxe d’un nom de fichier n’est pas très stricte. Il est recommandé de limiter le nom d’un fichier à 14 caractères au plus et de n’utiliser que les lettres majuscules ou minuscules (attention, Linux différencie les majuscules des minuscules), les chiffres et quelques autres caractères (le point ., le tiret –, le souligné ). Linux autorise jusqu’à 255 caractères pour le nom du fichier. La longueur minimum est de un caractère. Les caractères spéciaux suivants sont à proscrire absolument : \ > < | $ ? & [ ] * !  » ‘ ( ) ` @ ~ De plus, les utilisateurs ayant des claviers français doivent éviter les caractères accentués. En annexe B, vous trouverez la liste complète des caractères spéciaux à proscrire, car ils ont une signification particulière pour le système. Le point (.) joue un rôle particulier dans le nom d’un fichier. Les fichiers dont les noms commencent par un point (.), comme .profile, sont des fichiers cachés (c’est–à–dire qu’ils n’apparaissent pas dans la liste des fichiers en tapant la commande ls sans argument). Le point sert également à suffixer les noms des fichiers. Cette pratique est très recommandée, car elle facilite la gestion des fichiers. Il est vrai qu’il n’existe pas de syntaxe précise ; il existe toutefois un certain nombre de conventions : Certaines commandes de Linux s’appliquent à plusieurs fichiers. Dans ce cas, plutôt que de les énumérer, il est plus commode de les désigner par un nom générique en utilisant des caractères spéciaux, pour remplacer un ou plusieurs caractères dans le nom du fichier (voir paragraphe 7.7).

LIRE AUSSI :  Le relais de trames

LA DÉSIGNATION DES FICHIERS

Un fichier est repéré par son nom et sa position dans l’arborescence : son chemin d’accès (pathname). La syntaxe de ce chemin d’accès est très précise et peut être décrite des deux manières suivantes :

Le chemin d’accès absolu

Il permet d’accéder à un fichier quelconque dans l’arborescence du système de fichiers. Il est composé d’une suite de noms de répertoires séparés par le caractère /. Il commence toujours par le caractère / qui désigne le répertoire racine et se termine par le nom du fichier que l’on veut atteindre. La longueur du chemin d’accès absolu d’un fichier est limitée à 1024 caractères. Exemples /var/spool/mail/xstra1 /home/xstra/essai.

Le chemin d’accès relatif

La désignation d’un fichier par son chemin d’accès absolu se révèle rapidement lourde vu le nombre de répertoires intermédiaires à désigner. Tout utilisateur peut se positionner sur n’importe quel répertoire de l’arborescence. Ce répertoire devient courant (répertoire de travail ou current working directory). Dès l’entrée en session de l’utilisateur, le système le place dans un répertoire de travail initial (répertoire d’accueil ou home directory). Ce répertoire a été créé au moment de l’établissement du compte de l’utilisateur. Le système associe alors en 3.4 La manipulation des répertoires 23 © Dunod – La photocopie non autorisée est un délit. permanence, à tout processus ou tâche, le chemin d’accès complet du répertoire de travail courant de l’utilisateur. Ainsi, l’usager peut désigner un fichier en ne donnant que son chemin d’accès relatif au répertoire de travail courant. A partir de ce répertoire courant, l’utilisateur construit son propre sous–arbre de répertoires et de fichiers. Exemple chemin absolu /home/xstra/develop/prog1 répertoire courant /home/xstra chemin relatif develop/prog1 Remarque Tout répertoire contient au moins deux entrées : . § représente le répertoire lui–même. .. § représente le répertoire père. Ces entrées de répertoire ne sont en général pas imprimées par les utilitaires du système. Elles permettent de référencer le répertoire courant sans l’obligation de citer son nom de chemin d’accès absolu ou de référencer avec un chemin d’accès relatif un fichier dans un sous–arbre. Exemple répertoire courant /home/xstra chemin d’accès relatif ../xstra/develop/prog1 chemin d’accès absolu équivalent /home/xstra/develop/prog1 Par commodité, nous utiliserons dans la suite de l’ouvrage le terme nom de fichier pour désigner le chemin d’accès à ce fichier.

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *