Système de gestion de fichiers sous GNU/Linux

Page 1 sur 16Lecteur de document UniversityLib

Système de gestion de fichiers sous GNU/Linux

Operating Systems · notes

Voir tous les documents en systèmes d'exploitation et cloud

Ministère de l’Enseignement Supérieur, de la Recherche Scientifique et de la Technologie

Université Virtuelle de Tunis

Système d’Exploitation

GNU/Linux

Système de gestion de fichiers

Yahia Slimani

Hbib Elsmii

Attention !

Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis.

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

Objectifs du chapitre

:

• Comprendre la notion de fichier sous Unix.

• Étudier

l'organisation

logique des données avec

le

système de fichiers de GNU/Linux.

• Utiliser les commandes de manipulation de fichiers.

Introduction

Eléments de contenu

Les différents types de fichiers

Organisation des fichiers

Yahya SLIMANI/Habib SMEI

‐ Page 1 ‐

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

1. Introduction

Sous GNU/Linux, la notion de fichier a une signification plus large que celle connue usuellement. En

effet, la définition de fichier se présente comme un objet typé sur lequel on pourrait appliquer un

certain nombre d'opérations. Il peut correspondre à un fichier disque usuel mais il peut correspondre

à une ressource physique ou logique telle qu'un terminal, une imprimante, un lecteur CD‐ROM, etc.

1

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

2. Les différents types de fichiers

GNU/Linux distingue essentiellement deux grandes classes de fichiers: les fichiers dont le

contenu est stocké sur disque (les fichiers disque, les répertoires, les liens symboliques et les

tubes) et les fichiers spéciaux correspondant à des ressources physiques (les terminaux, les

imprimantes, etc.).

a) Les fichiers réguliers

Les fichiers réguliers (regular files) sont des fichiers disque. Leur contenu n'est pas nécessairement

structuré. Il peut s'agir de programmes (binaires exécutables ou en code source) ou de fichiers

contenant des données utilisateur ou système. Ces fichiers sont issus d'applications: édition de

textes, compilation d'un code source, éditions de liens, etc.

b) Les fichiers répertoires

Ces types de fichiers sont très importants dans un système de fichier. En effet, ils permettent aux

utilisateurs d'organiser leurs fichiers de données. Les répertoires suivants sont particulièrement

importants dans tout système GNU/Linux:

1. bin : répertoire contenant les fichiers exécutables nécessaires au fonctionnement de

base du système.

2. boot : répertoire spécifique à GNU/Linux, dans lequel sont stockés les noyaux de la

machine (kernel).

3. dev : contient tous les fichiers spéciaux représentant les périphériques du système

4. etc : répertoire où sont stockés les fichiers de configuration du système et des

programmes (paramétrage par défaut).

5.

lib : contient les librairies partagées du système

6. mnt (et/ou media) : répertoire dédié pour le montage d'autres systèmes de fichiers

(disquette, CD, autres disques durs, disque amovible etc.).

7. root : répertoire où sont stockées les données de l'administrateur (super utilisateur);

c'est le répertoire de connexion de l'administrateur.

8. tmp : permet de stocker les données temporaires créées par les programmes des

utilisateurs. Ce répertoire est normalement vidé à chaque démarrage de la machine.

9. var : on stocke dans ce répertoire tous les fichiers créés par les programmes, mais qui

doivent être conservés sur une certaine période : les courriers électroniques arrivés

ou en partance, l'historique de connexion des utilisateurs, etc.

10. usr : Contient les fichiers des paquetages fournis par les distributions en

2

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers supplément du système GNU/Linux de base. Ce système de fichiers peut être

monté en lecture seule, ce qui permettra d'accroître la sécurité au niveau des

fichiers et de partager ces données sur le réseau via le protocole NFS (Network File

System) par exemple.

11. users ou home : répertoire très important dans une installation. C'est dans ce

répertoire que seront crées les répertoires associés aux comptes des utilisateurs. A

chaque compte est associé un répertoire qui sera utilisé comme répertoire de

connexion lors de l'ouverture d'une session par le propriétaire du compte.

c) Les fichiers spéciaux

Comme nous l'avons signalé précédemment, GNU/Linux considère les périphériques d'entrées‐

sorties comme des fichiers. Du point de vue de l'utilisateur, référencer un fichier régulier, un

répertoire ou un organe d'entrée‐sortie se fait exactement de la même manière. Ainsi, un fichier

spécial est un fichier associé à un dispositif physique d'entrée‐sortie.

On distingue deux types de fichiers spéciaux:

• Les fichiers spéciaux en mode bloc (block buffered devices) comme les disques. Avec de

tels périphériques, le transfert de données lors d'une opération d'entrée‐sortie est

réalisé par blocs (512 ou 1024 octets).

• Les fichiers spéciaux en mode caractère (character unbuffered devices) comme les

terminaux et les imprimantes. Ce type de périphériques transfert les données octet par

octet (caractère par caractère) et il n'y a pas d'utilisation de caches d'entrée‐sortie

comme dans le cas des périphériques bloc. Par exemple, sous GNU/Linux, le répertoire

/dev contient les fichiers de noms tty* qui représentent des fichiers spéciaux de type

caractère et hda* sont des fichiers de type bloc.

d) Les liens symboliques

Les fichiers de type lien symbolique sont des fichiers qui pointent sur d'autres fichiers (ou

répertoires). Ils correspondent, d'une certaine manière, à la notion de raccourci. Les liens

symboliques et les fichiers (ou répertoires) peuvent appartenir, ou non, au même système de

fichiers.

e) Les tubes nommés (fifo)

Ces types de fichiers permettent à un ensemble de processus, n'ayant pas de liens de parenté

particuliers, d'échanger des informations.

3

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

f) Les sockets

Il s'agit d'objets permettant la communication bidirectionnelle entre les processus (les tubes étant

unidirectionnels). Les sockets permettent aussi la communication entre des applications distantes

(applications réparties).

4

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

3. Organisation des fichiers

Le principe de désignation est basé sur l'association faite, dans les répertoires, entre les

chaînes de caractères et les numéros d'index des fichiers. La désignation extérieure d'un fichier est

faite en l’identifiant avec une chaîne de caractères, relativement à un répertoire donné (c’est le

répertoire qui le contient). Notons que les répertoires seront, eux‐mêmes, identifiés de la même

manière que les fichiers. Selon ce principe d’inclusion (un fichier contenu dans un répertoire, un

répertoire contenu dans un autre répertoire), nous obtenons une structure arborescente,

caractérisée par un niveau particulier (le nœud de l’arboresence), appelé le répertoire racine ou la

racine absolue du système de fichiers.

Le système GNU/Linux, contrairement à d’autres systèmes, n'utilise pas une table de fichiers

mais plusieurs et chacune est relative à une arborescence bien déterminée. Le numéro d'index du

répertoire racine de chacune des arborescences est toujours égal à 2.

L'accès à l'une des arborescences est possible grâce au mécanisme de montage (mounting).

Publicité

Ce mécanisme permet de créer un point d'accès à cette arborescence à partir de la racine absolue du

système de fichiers. Ce même

mécanisme peut être étendu pour accéder à des répertoires et à des fichiers situés sur des systèmes

distants et ce de manière totalement transparente aux utilisateurs en s'appuyant sur le protocole

NFS (Network File System).

Exemple

Soit, sous GNU/Linux, l'arborescence suivante :

/

bin

boot

dev

etc

home

2

8193

28673

exports

group passw

28682

d 28877 28825

38913

cp

df

38934

38936

2

hb

32769

liste

Desktop

32797

65537

Internet. Desktop

65560

5

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

Nous avons dit que chaque nœud de l'arborescence a un numéro d'index dans une table de fichiers.

La racine absolue (numéro d'index 2) renferme les entrées suivantes présentées sous forme de

couples: (nom de fichier, numéro d'index associé): (bin,38913), (boot,2), (dev, 8193), (etc,28673) et

(home,2).

Nous remarquons que les répertoires boot et home ont comme numéro d'index la valeur 2. Ceci

veut dire que ces deux répertoires sont deux répertoires racines de deux disques logiques qui seront

considérés comme deux points de montage.

Le répertoire bin contient, entre autres, les entrées (cp,38934) et (df,38936).

Le répertoire etc contient, entre autres, les entrées (exports,28682), (group,28877) et (passwd,

28825).

Le répertoire home contient, en particulier l'entrée (hb,32769). Celle‐ci comprend à son tour les deux

entrées (liste,32797) et (Desktop,65537) qui à son tour contient l'entrée (Internet.Desktop,65560).

Un fichier n'est accessible que si la racine du disque logique auquel il appartient a été

montée auparavant et ce relativement au disque système (disque dont la racine est la racine

absolue du système de fichiers, de numéro d'index 2). Ce disque est toujours monté et par

conséquent les fichiers et répertoires qu'il contient sont toujours accessibles.

Pour naviguer (se déplacer) dans une arborescence de fichiers, on utilise la notion de

chemin d’accès. Un chemin d'accès à un fichier ou à un répertoire (appartenant à un disque

monté) est un chemin qui part d’un répertoire donné de l’arborescence vers ce fichier. Si le

répertoire de départ est la racine de l’arborescence, ce chemin est dit « absolu ». Sa principale

caractéristique est qu’il commence par le répertoire racine symbolisé par le symbole / (Slash).

Il est représenté par une suite de noms, séparés par le symbole / (Slash) et définit de manière

unique un fichier.

Par exemple, le chemin /nom1/nom2/…/nomn définit un chemin absolu qui part de la racine pour

aboutir au fichier nomn, en passant par des noms de répertoires intermédiaires.

6

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers Avec l'exemple ci-dessus, le fichier dont le numéro d'index est 32797 aura comme chemin (ou

référence) absolu : /home/hb/liste

Les systèmes UNIX permettent à un utilisateur de spécifier les chemins des fichiers

en utilisant des références relatives, ce qui donnera lieu à des chemins dits relatifs. Ces

chemins relatifs ont comme répertoire de départ, non plus la racine du système de fichiers

(cas du chemin absolu), mais plutôt un répertoire quelconque de l’arborescence, appelé

« répertoire courant » ou » répertoire de travail ». Ce répertoire pourra changer au cours du

temps. Il est représenté par une suite de noms, séparés par le symbole / (Slash) et définit de

manière unique un fichier. La principale différence avec le chemin absolu est qu’un chemin

relatif ne commence jamais par le répertoire racine, dont par le symbôle / (Slash)

Le système de fichiers, sous UNIX, utilise deux symboles particuliers pour définir deux

répertoires particuliers, qui peuvent changer au cours du temps. Le premier symbole, le point (.),

définit le chemin absolu du répertoire du courant ; c’est donc une représentation abrégée de ce

chemin. Le deuxième symbole, les deux points (..) définit le répertoire père du répertoire courant.

Grâce à ce deuxième symbole, il est possible de remonter dans l’arborescence pour se rapprocher de

la racine.

Exemple

Si nous supposons que le répertoire courant est celui qui a pour référence (ou chemin) absolue la

chaîne /home/hb/Desktop, alors les fichiers ayant comme numéros d'index 32797 et 8193 seront

désignés, respectivement, par les chemins relatifs suivants : ../liste et ../../../dev

Notons que le système GNU/Linux définit, pour chaque utilisateur disposant d’un compte utilisateur,

un répertoire privé ou répertoire de base (home directory) représenté par le symbole ~ qui est son

répertoire courant lors de l'ouverture de sa session de travail. Par la suite, il lui sera possible de

changer de répertoire courant, puis de revenir vers son répertoire de travail

• Notion d'i-nœud

Un i-nœud ou table d’index est une structure contenant un ensemble d’attributs sur un

fichier. Elle contient typiquement les informations suivantes:

Le uid (user identifier) et le gid (group identifier) du fichier

Le type du fichier

Les droits d'accès des utilisateurs à ce fichier

La taille du fichier (en octets)

•

•

•

•

7

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

•

•

•

Le nombre de liens physiques sur le fichier

Les dates du dernier accès et de dernière modification du fichier

L'adresse, sur disque, du fichier.

Remarques importantes:

• Un i‐nœud ne contient aucun nom pour le fichier correspondant.

• Sous GNU/Linux, chaque utilisateur est caractérisé par un numéro d'utilisateur et

appartient, obligatoirement, à un groupe bien défini d’utilisateurs

(il peut

éventuellement appartenir à plusieurs groupes). Ainsi, pour tout fichier, le système

GNU/Linux définit trois classes d'utilisateurs:

•

•

Le propriétaire du fichier (celui qui l’a crée) symbolisé par la lettre u.

Les membres du groupe auquel appartient le propriétaire (groupe propriétaire)

symbolisés par la lettre g.

•

Les autres utilisateurs symbolisés par la lettre o.

Dans tout système GNU/Linux, l’utilisateur qui dispose de tous les privilèges sur tous les

fichiers est appelé le super‐utilisateur. Il a pour nom d'utilisateur, un nom standard appelé root et

comme numéro d'identification (uid) 0. Tous les autres utilisateurs auront des privilèges étendus sur

leurs propres fichiers (ceux qu’ils auront crées) et des privilèges restreints sur le reste des fichiers

(fichiers du système et des autres utilisateurs).

GNU/Linux définit par ailleurs, trois types d'opérations sur les fichiers:

•

Publicité

•

•

La lecture (r)

L'écriture (w)

L'exécution. (x).

Appliqué à un répertoire, le droit d'exécution, pour un utilisateur, signifie que ce répertoire

pourra être utilisé dans un chemin. Le droit de lecture donne la possibilité à un utilisateur de lister le

contenu d’un répertoire, par contre le droit d'écriture lui donne la possibilité de modifier le contenu

d’un répertoire (création, suppression, modification d’attributs des fichiers contenus dans le

répertoire).

Sur un fichier régulier (ordinaire), le droit de lecture permet de lire son contenu sans le

modifier alors que le droit d'écriture donne la possibilité de modifier son contenu.

Grâce à ces droits, il est donc possible de définir les droits d’accès ou permissions pour

chaque fichier. Ces droits ou permissions sont définis par les propriétaires des fichiers et ne portent

8

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers que sur les fichiers qu’ils ont crée explicitement à l’aide de commandes ou à travers le gestionnaire

de fichiers. Ils ont également la possibilité de changer ces droits à tout moment. Ces droits doivent

spécifier pour chaque catégorie d’utilisateurs (u,g,o) les opérations permises (combinaison entre les

lettres r,w, et ‐). Le symbole tiret (‐) signifiant l’absence de droit (opération non autorisée)

Le système GNU/Linux définit, dans le i‐nœud d’un fichier, 9 bits pour chaque classe d'utilisateur et

chaque type d'opération si l'opération est permise ou pas. Trois autres bits spéciaux sont également

introduits:

•

•

•

Le set‐uid: L'utilisateur qui exécute un fichier (binaire exécutable) aura les droits du

propriétaire du fichier seulement pendant l'exécution. Il n'a aucun effet sur les répertoires.

Le set‐gid: Le groupe auquel appartient l'utilisateur qui exécute un fichier aura les droits

du groupe propriétaire du fichier pendant l'exécution. Sur un répertoire, tous les fichiers qui y

ont été crées auront le même groupe que le répertoire sans tenir compte du groupe

propriétaire (groupe auquel appartient le créateur du fichier).

Le sticky bit: S'applique sur des répertoires. Il empêche les utilisateurs d'éliminer les

fichiers qui ne sont pas les leurs. Il n'a aucun effet sur les fichiers texte (fichiers sans mise en

forme particulière).

• Commandes de base du système de gestion de fichiers

Dans ce qui suit, on s'intéresse à quelques unes des commandes de manipulation des répertoires et

des fichiers.

La commande pwd

La commande pwd (print working directory) permet d'afficher la référence absolue au répertoire de

travail ou répertoire courant du processus shell (l'interprète de commandes):

$ pwd

/home/hb

La commande cd

La commande cd (change directory) permet de changer le répertoire de travail. Elle permet de

naviguer dans l'arborescence. Si elle est appelée sans paramètre, elle place l'utilisateur dans son

répertoire privé.

$ cd

$ pwd

9

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

/home/hb

$ cd /etc

$ pwd

/etc

La commande ls

La commande ls (list) permet d'afficher le contenu d'un ou de plusieurs répertoires passés comme

paramètres avec éventuellement leurs caractéristiques. Lorsqu'elle est appelée sans paramètres, elle

affichera le contenu du répertoire de travail (répertoire courant).

$ pwd

/home/hb

$ ls

Desktop

liste

$ ls –a –i –l –d

(ou ls –ail )

65537 drw xr‐x r‐x

32797 ‐rwx‐ ‐ ‐ ‐ ‐ ‐

3

1

hb

hb

hb

hb

4096

fév 1 23:36

Desktop/

107

fév 5 23:08

liste

l'option –i (inode) permet d'afficher le numéro d'index associé au fichier

l'option –d (directory) permet de ne pas afficher le contenu d'un répertoire

l'option –a (all) permet d'afficher tous les fichiers y compris ceux commençant avec .

l'option –l (detail) permet d'afficher les détails des fichiers.

On distingue notamment:

(cid:131)

(cid:131)

10

le type du fichier (d correspond à un répertoire, – correspond à un fichier régulier),

les droits d'accès au fichier représentés sur 9 caractères: rwx rwx rwx . les trois

premiers caractères concernent les droits du propriétaire (droit de lecture (r), droit

d'écriture (w) et droit d'exécution (x)), les trois deuxièmes concernent les droits du

groupe propriétaire sur le fichier et les trois derniers concernent les droits des autres

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

utilisateurs sur le fichier,

Le nombre de liens physiques sur le fichier,

Les noms du propriétaire et du groupe propriétaire,

La taille en octets,

La date de dernière modification

Le nom du fichier.

(cid:131)

(cid:131)

(cid:131)

(cid:131)

(cid:131)

La commande cat

La commande cat (concatenate) permet d'afficher, sur l'écran, le contenu d'un ou de plusieurs

fichiers dont les noms sont passés comme paramètres. Sans paramètres, elle affiche l'entrée à partir

du clavier.

$ cat message

Bienvenue dans notre système …

$ cat

Bonjour

Bonjour

La commande cp

La commande cp (copy) permet de dupliquer physiquement un fichier (avec l'attribution d'un nouvel

i‐nœud ).

$ cp message copiemessage

$ ls –il

8211

‐rw‐ r‐‐ r ‐‐ 1

hb

hb

32 fév 9 13:28

copiemessage

8210

‐rw‐ r‐‐ r ‐‐ 1

Publicité

hb

hb

32 fév 8 11:38

message

On voit, sur cet exemple, que les deux objets message et copiemessage ont chacun un nombre de

liens égal à 1. Il s'agit bien de deux objets différents (deux i‐nœuds différents) même s'ils contiennent

la même chose.

La commande ln

La commande ln (link) permet d'attribuer plusieurs noms à un fichier régulier ou spécial dans un

même répertoire ou dans des répertoires différents.

11

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

$ ln copiemessage message lienmessage

$ ls –il

8211

‐rw‐ r‐‐ r ‐‐ 1

hb

hb

32 fév 9 13:28

copiemessage

8210

‐rw‐ r‐‐ r ‐‐ 2

hb

hb

32 fév 9 17:28

lienmessage

8210

‐rw‐ r‐‐ r ‐‐ 2

hb

hb

32 fév 8 11:38

message

$ cat message lienmessage

Bienvenue dans notre système …

Bienvenue dans notre système …

On constate facilement que la commande ln ne duplique pas, contrairement à la commande

cp, le fichier (les deux liens ont même numéro d'index). Elle augmente, par contre, le nombre

de liens physiques sur le fichier. Avec l'option –s, la commande ln permet de créer un lien

symbolique (ayant un numéro d'index différent).

$ ln ‐s message liensymbmessage

$ ls –il copiemessage lienmessage liensymbmessage message

8211

‐rw‐ r‐‐ r ‐‐ 1

hb hb 32 fév 9 13:28 copiemessage

8210

‐rw‐ r‐‐ r ‐‐ 2

hb hb 32 fév 9 13:28

lienmessage

8218

lrwxrwxrwx 1

hb hb 7 fév 9 19:31

liensymbmessage ‐> message

8210

‐rw‐ r‐‐ r ‐‐ 2

hb hb 32 fév 9 13:28

message

On remarque, sur cet exemple, que la création d'un lien symbolique n'augmente pas la valeur du

compteur de liens physiques du fichier message.

La commande mv

La commande mv (move) permet soit de renommer un fichier ou de le déplacer selon que le dernier

paramètre passé (à la commande mv) est nom de fichier ou désigne un répertoire.

$ mv lienmessage lmessage

changement de nom d'un lien physique

$ mv lmessage ..

déplacement du fichier désigné par lmessage vers le répertoire parent du

répertoire courant.

12

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

La commande rm

La commande rm (remove) permet de supprimer un lien physique sur un fichier. Un fichier est

physiquement effacé du disque si et seulement si le compteur de ses liens physiques est à zéro.

$ ls –il copiemessage lienmessage liensymbmessage message

8211

‐rw‐ r‐‐ r ‐‐ 1

hb hb 32 fév 9 13:28 copiemessage

8210

‐rw‐ r‐‐ r ‐‐ 2

hb hb 32 fév 9 13:28

lienmessage

8218

lrwxrwxrwx 1

hb hb 7 fév 9 19:31

liensymbmessage ‐> message

8210

‐rw‐ r‐‐ r ‐‐ 2

hb hb 32 fév 9 13:28

message

$ rm –i lienmessage

(–i demande de confirmation)

rm: remove `lienmessage' ?

y

$ ls –il

8211

‐rw‐ r‐‐ r ‐‐ 1

hb hb 32 fév 9 13:28 copiemessage

8218

lrwxrwxrwx 1

hb hb 7 fév 9 19:31 liensymbmessage ‐> message

8210

‐rw‐ r‐‐ r ‐‐ 1

hb hb 32 fév 9 13:28 message

la commande mkdir

La commande mkdir (make directory) permet de créer un répertoire. À sa création, un répertoire

contiendra uniquement les deux liens: . et .. Un tel répertoire est qualifié de répertoire vide.

$ mkdir Travail

$ ls –ld Travail

drwxr‐xr‐x

2

hb hb 1024 fév 11 18:34

message

La commande rmdir

La commande rmdir (remove directory) permet la suppression d'un répertoire vide (ne contenant

que . et ..)

$ rmdir /home/hb/Desktop

$ rmdir: `/home/hb/Desktop': Le répertoire n'est pas vide

13

Yahia Slimani ; Hbib Elsmii

Université Virtuelle de Tunis

Système d’Exploitation GNU/Linux

Système de gestion de fichiers

$ rmdir Travail

$ rm –r /home/hb/Desktop

$ ls –l /home/hb/Desktop

ls: /home/hb/Desktop : Aucun fichier ou répertoire de ce type

L'option –r (recursive) passée à la commande rm permet de supprimer un répertoire non vide.

14

Yahia Slimani ; Hbib Elsmii