PARTIE GENERALITE Système de Fichiers LINUX [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

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