You are on page 1of 43

Gnal VALET Version 1.

21 : Jan 2011

 Quest-ce quun systme de fichier ?


 Organisation physique des donnes sur un support
Sur un disque dur, une cl USB, un DVD,

 Quest-ce quune arborescence ?


 Organisation logique des fichiers sur un ou plusieurs systmes de
fichiers
 Il sagit dune structure de donnes hirarchique de type arbre
Racine de
larborescence

Rpertoire

Fichier

Sous-Rpertoire

 Voici larborescence typique dun systme Linux :


Fichiers de configuration
Commandes principales disponibles pour tous
Racine du
systme

Fichiers de dmarrage du systme contenant le noyau

Point dentre vers les priphriques


Rpertoires personnels des utilisateurs
Rpertoire personnel du super-utilisateur
Logiciels et librairies supplmentaires
Journaux systmes (log)
Systme de fichiers virtuel (VFS) contenant des infos
sur les processus en cours dexcution

 Diffrents symboles sont utiliss pour dsigner des rpertoires


 Le . : Rpertoire courant
 Le .. : Rpertoire parent
 Le ~ : Rpertoire personnel de lutilisateur courant






La commande cd permet de changer de rpertoire


La commande ls permet de lister un rpertoire
La commande pwd permet de connatre le rp. courant
Exemples :
Je suis dans mon rep. perso

Je vais dans /etc/apache2

root@Nom:~# cd /etc/apache2
root@Nom:/etc/apache2 # cd ..
root@Nom:/etc # ls .
root@Nom:/etc # cd ~
root@Nom:/etc # pwd
/home/karim

O suis-je ?

Je vais dans le rp parent (/etc)


Je liste le rp. courant (/etc)
Je retourne dans mon rp perso

 Il est constitu dun ou de plusieurs plateaux


 Chaque plateau est divis en pistes (tracks)
 Chaque piste est divise en secteurs (sectors)
 Le cylindre est form par les pistes de mme rayon sur chaque
plateau

 Le formatage est effectu 2 niveaux


 En usine : le formatage bas niveau des pistes et secteurs
 Par lutilisateur : Effacement ou rcriture des donnes
Lors de linstallation du systme dexploitation par exemple

 La capacit dun disque dpend


 De la taille des secteurs
 Du nombre de cylindres et donc du nombre de plateaux

 Organisation typique du poste de travail


MBR

Partition systme

Partition donnes

Disque

 Le Master Boot Record est situ dans les 1er secteurs du disque
 Il est constitu de 2 parties :
 La table des partitions
 Le programme damorage qui charge le noyau du systme

 Plusieurs types de partitions


 Principale
 Etendue
 Logique

 Les partitions principales


 Au maximum de 4
 Accepte tout type de systme de fichiers

 Les partitions tendues


 Destines contenir des partitions logiques et non un systme de
fichiers
 Ncessitent au moins une partition principale

 Les partitions logiques


 Contenues dans une partition tendue
 Accepte tout type de systme de fichiers

 Exemple permettant dinstaller plusieurs systmes dexploitation


MBR

Partition
principale

Partition
principale

Etendue
Logique

Logique

Logique

 Le pointeur spcial /dev permet laccs aux disques


 Format des pointeurs sur disque :
Lettre de priphrique

 Types de bus
 hd : Priphriques IDE
 sc : Priphriques SCSI
 sd : Priphriques SATA

Type de bus

 Exemples
 /dev/hda1 :
Partition 1 sur le 1er disque IDE
 /dev/sdb2 :
Partition 2 sur le 2me disque Sata

N de
partition

 chaque systme est associ un format


 Dfinit la structure des donnes sur le support

 Sous Linux
 ext2, ext3, jfs, xfs
 ext3 est la plus courante pour Linux

 Sous Windows
 fat, fat32, ntfs
 Nfts est utilis sous windows XP et Vista

 Toujours prfrer un systme de fichier journalis


 Chaque squence de lecture/criture est dabord inscrite dans un
journal avant dtre effectue
Si le systme se bloque pendant la squence, elle sera acheve aprs le
redmarrage
 On vite les erreurs dans le systme de fichiers

 Le format swap est utilis comme mmoire virtuelle


 Dans le cas o la mmoire vive est sature
 Par le systme pour amliorer les performances
 La taille du swap est fixe au double de la mmoire vive
Si 512Mo de mmoire vive -> 1024Mo de swap

 Linux peut lire la plupart des formats


 Notamment Ceux de Windows : NTFS, FAT, FAT32

 Avant dtre utilis, un disque doit tre partitionn


 A laide de la commande fdisk si Linux est dj install
 Par le programme dinstallation sinon (dpend de la distribution)

 Il faut ensuite crer un systme de fichier


 Avec lutilitaire gnrique mkfs
mkfs.ext2, mkfs.ext3, mkfs.xfs,

 Sous Linux, Tout est fichier


 Larborescence est construite partir de points de montage

 Un point de montage est une association entre une partition


physique et larborescence du systme
hda

hdb
Montage

hda1

hdb1
Montage

hda2
Disque 1

Montage

Arborescence systme

hdb2
Disque 2

 Avantages
 Mettre labri certaines donnes stratgiques comme /home
 La dfaillance du disque hdb nentrane pas une rinstallation totale

 Tant quils ne sont pas effectus, le systme de fichiers est


inaccessible
 Ils sont raliss automatiquement au dmarrage du systme
 Seulement ceux qui figurent dans le fichier /etc/fstab

 Il est possible de crer un point de montage manuellement


 Pour les cls USB ou le CDROM par exemple
 En utilisant la commande mount
 Et umount pour supprimer le point de montage
root@Nom:~# mount /dev/hdd /mnt/cdrom
root@Nom:~# umount /dev/hdd

 Une partition est associe un systme de fichiers


 Il faut parfois prciser le type de ce systme
ext2, ext3, xfs, swap, jfs, iso9660, vfat,

 3 tapes sont ncessaires






Cration dune partition : fdisk


Initialisation du systme de fichiers : mkfs
Cration dun point de montage : mount

 1) Cration dune partition




Partition principale de 100Mo avec fdisk sur /dev/sda

root@Nom:~# fdisk /dev/sda


Commande (m pour l'aide): n
Action de commande
e
tendue
p
partition primaire (1-4)

p
Numro de partition (1-4): 1
Premier cylindre (1-26, par dfaut 1):
Utilisation de la valeur par dfaut 1
Dernier cylindre ou +taille or +tailleM ou +tailleK (1-26, par dfaut 26): +100M
Commande (m pour l'aide): w
La table de partitions a t altre!
Appel de ioctl() pour relire la table de partitions.
Synchronisation des disques.
Commande (m pour l'aide): q

 Vrification de la partition sous fdisk


Commande (m pour l'aide): p
Priphrique Amorce
Dbut
/dev/sda1
1

Fin
13

Blocs
104391

Id
83

Systme
Linux

 2) Initialisation du systme de fichiers


 Avec la commande mkfs
root@Nom:~# mkfs.ext3 /dev/sda1
mke2fs 1.40.8 (13-Mar-2008)
tiquette de systme de fichiers=
Type de systme d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
26104 i-noeuds, 104388 blocs
5219 blocs (5.00%) rservs pour le super utilisateur
Premier bloc de donnes=1
Nombre maximum de blocs du systme de fichiers=67371008
13 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2008 i-noeuds par groupe
Superblocs de secours stocks sur les blocs :
8193, 24577, 40961, 57345, 73729
criture des tables d'i-noeuds : complt
Cration du journal (4096 blocs) : complt
criture des superblocs et de l'information de comptabilit du systme de
fichiers : complt

 Cration du point de montage


 De type ext3
 Avec la commande mount
root@Nom:~# mount -t ext3 /dev/sda1 /mnt/toto/

Le rpertoire /mnt/toto doit dj exister

 Vrification du point de montage avec la commande df


root@Nom:~# df
Sys. de fich.
/dev/sdc1
varrun
varlock
udev
devshm
lrm
/dev/sdd1
/dev/sda1

1K-blocs Occup Disponible Capacit Mont sur


7913216
2716248 4798156
37%
/
127856
108 127748
1%
/var/run
127856
0 127856
0%
/var/lock
127856
64 127792
1%
/dev
127856
12 127844
1%
/dev/shm
127856
38176
89680
30%
/lib/modules/2.6.24-16-generic/vol..
8045180
6987320 1057860
87%
/media/GEN-USB
101086
5664
90203
6%
/mnt/toto

 Rpertoire spcial nexistant pas physiquement sur le disque


 /proc est un pseudo-systme de fichiers mis jour en temps
rel par le noyau
 Chaque processus en cours dexcution y dispose dun sous
rpertoire
Le nom de ce sous-rpertoire correspond au PID du processus
Des informations importantes sur le processus y sont stockes
Fichiers et mmoires utilises par le processus

 Les fichiers de /proc sont en :


 Lecture seule : Permet dobtenir des infos sur les processus
Exemple : /proc/cpuinfo (Infos sur le processeur)
 Ecriture : Permet de modifier des paramtres du noyau
Exemple : /proc/sys/net/ipv4/ip_forward (Activation du routage)

 Quelques fichiers intressants consulter


 cpuinfo : informations sur le(s) processeur(s)
 meminfo : utilisation de la mmoire
 ioports : Adresses physiques des diffrents priphriques matriels

 Visualiser le fichier /proc/cpuinfo avec la commande cat


root@Nom:~#
processor :
vendor_id :
cpu family
model
model name
stepping :
cpu MHz
cache size
fdiv_bug :
hlt_bug
f00f_bug :
coma_bug :

cat /proc/cpuinfo
0
GenuineIntel
: 6
: 23
: Intel(R) Core(TM)2 Duo CPU
8
: 2500.585
: 6144 KB
no
: no
no
no

T9300

@ 2.50GHz

 La ligne de commande donne des informations :


Utilisateur
courant

Rpertoire
courant

root@Nom:/home/karim# |
Nom de la
machine

# : Superutilisateur
$ : Utilisateur normal

 Autre exemple
Sous rpertoire du home de karim
/home/karim/Documents/software/
karim@Nom:~/Documents/software$ |
~ : Rpertoire home de karim (home/karim)

 La commande pwd permet de savoir quel est le rpertoire


courant
 La commande ls permet de lister les fichiers contenus dans un
rpertoire
 La commande cd permet de changer de rpertoire
 Les symboles suivants ont une signification particulire :
 . : Le point dsigne le rpertoire courant
Exemple : Excuter un script depuis le rpertoire courant
root@Nom:/home/karim# ./script.sh
./

 .. : Les 2 points dsignent le rpertoire parent


Exemple : Se dplacer dans le rpertoire parent
root@Nom:/home/karim/Docs# cd ..

 ~ : Dsigne le rpertoire home de lutilisateur courant


root@Nom:/home/karim/Docs# cd ~

 Il existe 2 mthodes pour spcifier un chemin dans le systme de


fichiers
 Chemin relatif : Dpend du rpertoire courant
 Chemin absolu : Dbute la racine du systme (commence tjrs par / )

 Exemples relatif

absolu

root@Nom:/home/karim# cd Documents

root@Nom:/home/karim# cd /home/karim/Documents

root@Nom:/home/Salim# cd Documents
root@Nom:/home/Salim/Documents/# |

root@Nom:/home/Salim# cd /home/karim/Documents
root@Nom:/home/karim/Documents/# |

root@Nom:/etc/apache# cd ../
root@Nom:/etc/# |

root@Nom:/etc/apache# cd /etc
root@Nom:/etc/# |

karim@Nom:~ # cd Docs
karim@Nom:~/Docs# |

Salim@Nom:/etc# cd /home/karim/Docs
root@Nom:/home/karim/Docs # |

 Attention aux chemins relatifs lintrieur dun script


 Le script peut-tre excut depuis nimporte o
 Le rpertoire courant est donc diffrent chaque fois

 Dans quel rpertoire je suis situ ?


karim@Nom:~/Documents/rep1$

 Rponse : Dans le rpertoire /home/karim/Documents/rep1

 Par quel chemin relatif quivalent peut-on remplacer celui-ci ?


karim@Nom:/etc$ cd /etc/ppp/peers/

 Rponse : ppp/peers

 Que mindiquera le rsultat de la commande suivante ?


Jamila@Nom:~/Documents/pub$ pwd

 Rponse : /home/Jamila/Documents/pub

 Commande la plus courte possible pour revenir dans le rpertoire


rep2, situ la racine de mon rpertoire home ?
karim@Nom:~/rep1/sousrep1$

 Rponse :

karim@Nom:~/rep1/sousrep1$ cd ~/rep2

 Linux est un systme multi-utilisateurs


 Plusieurs utilisateurs se partagent lespace disque
 Les fichiers et rpertoires dun utilisateur ne doivent pas tre
accessibles par les autres
 Les fichiers de configuration du systme doivent tre protgs

 Ncessit de spcifier des droits pour chaque fichier/rpertoire


 Plusieurs types de droits : Lecture (R), criture (W), excution (X)
 Ces droits sappliquent pour 3 groupes dutilisateurs :
Le propritaire (user) du fichier
Le groupe (group) propritaire (Tous les utilisateurs membre du
groupe)
Les autres (others). Dsigne tous les utilisateurs non membres des 2
prcdents

 Les droits sont responsables dun grand nombre derreurs de


configuration

 Nous avons vu quil existe 3 types de droits : r, w et x


 Ces droits nont pas la mme signification pour un fichier que
pour un rpertoire
 Pour un fichier :
 r : Lecture (afficher)
 w : Ecriture (modification)
 x : Excution (excution dun script)

 Pour un rpertoire
 r : Lire le contenu, lister les fichiers (avec ls par exemple)
 w : Modifier le contenu, crer et supprimer des fichiers (avec les
commandes cp , mv , rm )
 x : daccder aux fichiers du rpertoire. Mais aussi de naviguer dans
les sous-rpertoires (avec cd )
 En gnral, lorsque le droit w est accord, le droit x lest aussi

 La commande ls -l permet dafficher les droits qui sappliquent


root@Nom:/home/karim/Documents#
total 20
-rw-r--r-- 1 karim karim
0
-rw-rw-r-x 1 karim ensa
7406
-rw-rw-r-- 1 karim karim
7363
-rw-rwxr-x 1 karim ensa
255

ls -l
2008-08-15
2008-08-15
2008-08-15
20082008-0808-15

14:42
14:44
14:44
14:52

projet.txt
rapport2006.ods
rapport-activite.odt
script.sh

 Signification des diffrents champs


Type

Groupe
propritaire

- rw- rwx r-x karim ensa


propritaire

Taille

255 20082008-0808-15 14:52 script.sh

Groupe
autres Utilisateur
propritaire propritaire

Propritaire : Lecture, criture


Groupe : Lecture, criture et excution
Autres : Lecture et excution

Nom du fichier

Date/heure modif

 Le droit w accord un rpertoire permet :


 Dy effacer des fichiers quels que soient le propritaire et les droits qui
sappliquent ces fichiers
 Quand il est donn un groupe, nimporte quel utilisateur de ce groupe peut
supprimer des fichiers (dangereux)

 Les droits ne sappliquent pas au super-utilisateur


 Il a tous les droits sur tout le systme de fichiers
 Cest une trs grande responsabilit puisque sous Linux tout ou presque
repose sur les fichiers

 Le droit x accord un rpertoire est un pralable indispensable pour


exercer des droits sur les fichiers contenus
 Lutilisateur qui cre un fichier en devient le propritaire
 Ce fichier aura comme groupe propritaire, le groupe primaire du
propritaire (Groupe principal auquel appartient le propritaire)

 Quel(s) utilisateur(s) pourra(ont) se dplacer dans le rpertoire


suivant ?
drwxr
rwxrrwxr-x--- 26 karim Informatique 4096 2008-08-28 16:11 karim

 Rponse : karim et les membres du groupe Informatique

 Qui pourra crer de nouveaux fichiers dans ce rpertoire ?


drwxr
rwxrrwxr-xrwx 26 Salim Informatique 4096 2008-08-28 16:11 bilans

 Rponse : Tout le monde sauf les membres du groupe Informatique

 Soit le fichier suivant :


-rwxr
rwxr-rwxr--r
--r-- 26 Souad ensa 25140 2008-08-28 16:11 rapport2006.odt

 Situ dans le rpertoire suivant :


drwxrwxrwx
rwxrwxrwx 26 Salim ensa 4096 2008-08-28 16:11 rapports

 Qui pourra effacer ce fichier ?


Rponse : Tout le monde malheureusement !!!

 Le compte root possde tous les droits


 Celui qui possde le mot de passe root peut tout faire

 La plupart des distributions rcentes dsactivent le compte


root
 Certains utilisateurs peuvent endosser temporairement le rle du
super-utilisateur
Avec la commande sudo (Super User Do)
La commande qui suit le sudo sera excute en tant que
root
karim@Nom:~/Documents$ sudo commande

 En rgle gnrale, on utilise sudo que temporairement


 Pour des tches administratives
Accder lensemble du systme de fichiers
Grer les utilisateurs

 Parfois, le super-utilisateur doit endosser un autre rle afin


deffectuer une tche
 Que se passe t-il si le super-utilisateur cre un fichier ?
 Ce fichier lui appartient
 Selon les droits qui sappliquent, les autres utilisateur ne peuvent pas
y accder

 Que faire alors ?


 Se faire momentanment passer pour un autre utilisateur
 Avec la commande su
root@ubuntu:~# su gen
gen@ubuntu:~$ touch toto.txt
gen@ubuntu:~$ ls -l
total 32
drwxr-xr-x 2 gen gen 4096 2009-08-22
-rwrw-r--r
--r-- 1 gen gen
0 20092009-0808-31
drwxr-xr-x 2 gen gen 4096 2009-08-22
gen@ubuntu:~$ exit
exit
root@ubuntu:~#

Je me fais passer pour gen


Le fichier cr appartient gen
14:49
05:47
14:49

Modles
toto.txt
Vidos

Je reprends mon rle initial

 Utilis pour dfinir les droits par dfaut


 Droits appliqus pour un nouveau fichier lors de sa cration

 Les bits du masque 1 empchent le fichier dobtenir le droit


correspondant
 Exemple avec un masque de protection de 027
0 2 7
000 010 111
rwx rwx rwx Permissions maximum
rwx r-x

---

Permissions effectives aprs application du masque

 La commande umask permet de modifier le masque


 Les fichiers et rpertoires nouvellement cres seront alors protgs
 La valeur par dfaut du masque est 022
Est-ce suffisant ?

 La commande chmod permet de modifier les droits :


 2 syntaxes diffrentes
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTALOCTAL-MODE FILE...

Mode symbolique :
Bas sur des symboles (ugoa) et des oprateurs (+,-,=)
u (user), g (group), o (others), a (all users)
+ (Ajouter le droit), - (Retirer le droit), = (Ajouter le droit et retirer
tous les autres)
Exemple (Ajoute le droit dexcution au propritaire) :
chmod u+x rapport.txt

Mode octal :
Bas sur des nombres de 0 7
A chaque bit de la traduction binaire correspond un droit
Exemple ( rw- rw- r-- ) : chmod 664 rapport.txt

 Les droits sont reprsents par un nombre octal (Base 8)


 De 0 7

 La reprsentation binaire (base 2) donne le dtail des droits


 Exemple :

654

110 101 100


rw-

Propritaire : Lecture, criture


Groupe : Lecture et excution
Autres : Lecture seulement

r-x r--

 Ce mode permet de modifier tous les droits en mme temps


 A utiliser avec prcaution
 Trs efficace pour sassurer que tous les fichiers ont les mmes
droits
 Utilis pour scuriser les accs des utilisateurs aux fichiers

 Retirer le droit dcriture au propritaire et au groupe


chmod u-w,g-w

/home/karim/secret.txt

 Positionner les droits en rwx r-w ---


chmod 750

/home/karim/secret.txt

 Ajouter le droit de lecture aux autres de tous les fichiers


chmod

o+r

/home/karim/*

 Retirer le droit dcriture au groupe propritaire


 Pour tous les fichiers et sous rpertoires dun rpertoire donn
(Option R)
chmod -R g-w /home/karim/*

 Donner tous les droits tout le monde (dconseill)


chmod 777 /home/karim/secret.txt

 La commande chown (Change owner) permet de changer


lappartenance
 Pour le propritaire ou le groupe propritaire

 Syntaxe :
chown [OPTION]... [OWNER][:[GROUP]] FILE...

 Exemples :
 Modification du propritaire (karim)
chown karim /usr/docs/toto.txt

 Modification du groupe propritaire (ensa)


chown :ensa /usr/docs/toto.txt

 Modification du propritaire (Salmi) et du groupe (direction)


Pour tout le contenu du rpertoire (Option R - rcursif)
chown R Salmi:direction /usr/docs/rapports/

 Commande chmod ncessaire pour attribuer le droit


dcriture au groupe pour le rpertoire suivant :
drwxr
rwxrrwxr-x--- 26 karim Informatique 4096 2008-08-28 16:11 karim

 Rponse :

chmod g+w karim/

 Quels seront les droits accords aprs la commande suivante ?


chmod 654 file.txt

 Rponse : propritaire = rw , groupe = rx et autres = r ( rw- r-x r--)

 Quels seront les droits maximum accords aux fichiers crs par
un utilisateur ayant un masque de protection de 023 ?
 Rponse : rwx r-x r

 La commande cp copie des fichiers source vers une ou


plusieurs destinations
 Syntaxe :
cp [OPTION]... SOURCE... DIRECTORY

 Exemples
 Copie le fichier toto.txt vers /home/karim
cp toto.txt /home/karim

 Copie tous les fichiers du rpertoire /home/Salmi vers


/home/karim
cp

/home/Salmi/* /home/karim

 Copie le rep /home/Salmi tout entier vers /home/karim


cp

-r /home/Salmi/ /home/karim

 Copie en conservant les droits et lappartenance (-a)


cp

-a /home/Salmi/rapport.odt /home/karim

 Copier un fichier revient crer un nouveau fichier


 Identique loriginal
 Cest donc lutilisateur qui a effectu la copie qui devient le
propritaire
 A moins dutiliser loption a
 Exemple :
Je suis connect en tant que root
root@Nom:/home/Salmi# ls
total 0
lrwxrwxrwx 1 Salmi Salmi
-rw-r--r-- 1 Salmi Salmi
root@Nom:/home/Salmi# cp
root@Nom:/home/Salmi# ls
total 4
-rw-r--r-- 1 root root
drwxr-xr-x 2 karim karim
drwxr-xr-x 2 karim karim
drwxr-xr-x 2 karim karim
root@Nom:/home/Salmi#

-l

Je liste le rpertoire de Salmi

26 2008-08-21 18:04 Examples -> /usr/share/example-content


0 2008-08-21 18:14 rapport.odt
Ce fichier appartient
rapport.odt /home/karim/
-l /home/karim/

Salmi

Je le copie chez karim

0 2008-08-21 18:14 rapport.odt


4096 2008-08-21 17:59 rep1
4096 2008-08-21 18:00 rep2
4096 2008-08-15 14:41 Vidos

La copie mappartient (root)

 La commande mv dplace ou renomme une source vers une


destination.
 Syntaxe :
mv [OPTION]... SOURCE... DIRECTORY

 Exemples
 Dplace le fichier toto.txt vers /home/karim sans le renommer
mv toto.txt /home/karim

 Renomme le fichier toto.txt en tata.txt


mv toto.txt tata.txt

 Dplace tous les fichiers de rep1 vers rep2


mv rep1/* rep2/

 La commande rm permet deffacer des fichiers et des


rpertoires
 A utiliser avec prcaution (Surtout avec loption r)

 Exemples :
 Effacer le fichier rapport.txt
karim@Nom:~$ rm /home/karim/rapport.txt

 Effacer le rpertoire /home/karim


karim@Nom:~$ rm -r /home/karim/

 Effacer tous les fichiers du rp. courant commenant par rapport


karim@Nom:~$ rm ./rapport*

 Effacer les fichiers du rp. courant se terminant par .txt


karim@Nom:~$ rm ./*.txt

 Avant dutiliser rm , savoir avant quelle sera la porte


 rm -r /* peut gnrer une catastrophe

 Un(e) inode est une structure de donnes concernant un


fichier
 Contient des informations sur :
Les droits, le propritaire et le groupe
Le priphrique qui le contient
Des donnes relatives au systme de fichiers et lemplacement du
fichier sur le support de stockage

 A chaque fichier, correspond un inode


 Il est unique pour le priphrique de stockage qui contient le fichier

 Pour connatre linode dun fichier, la commande ls avec


loption -i .
karim@Nom:~/Documents/essais$ ls -il
total 12
8246 drwxr-xr-x 2 karim karim 4096
467165 drwxr-xr-x 3 karim karim 4096
475969 drwxr-xr-x 3 karim karim 4096

inode

/home/karim/Documents
2008-08-25 15:08 essais
2008-06-02 14:20 software
2008-07-29 15:54 vmware-tools

 Un lien est un type spcial de fichier qui fait rfrence un autre


fichier
 Axe central du fonctionnement de Linux, le lien permet :
 De crer des raccourcis vers des fichiers existants
 Dviter de stocker plusieurs fois le mme fichier dans des
rpertoires diffrents

 Un petit dessin :
support de stockage

fich1
fich2

01100011110
10101011001
0101001000
010101010
liens physiques

support de stockage

fich1

fich2

01100011110
10101011001
0101001000
010101010

lien symbolique

 Le lien symbolique est une rfrence vers un fichier cible


 Lorsque le fichier cible est effac, le lien est rompu
 Lorsque le lien est effac, le fichier cible nest pas effac

 Exemple :

Nom du lien

karim@Nom:~/Documents$ ls -l
total 8
lrwxrwxrwx 1 karim karim
29 2008-08-25 14:23 ip -> /proc/sys/net/ipv4/ip_forward
drwxr-xr-x 3 karim karim 4096 2008-06-02 14:20 software
drwxr-xr-x 3 karim karim 4096 2008-07-29 15:54 vmware-tools

Indique que cest un lien

Emplacement du vrai fichier

 La commande ln avec loption -s est utilise pour crer un


lien symbolique
karim@Nom:~/Documents$ ln s /proc/sys/net/ipv4/ip_forward ip

Cible (Target)

Nom du lien (link name)

 Un lien physique est associ un emplacement sur le support de


stockage
 2 liens peuvent tre associs au mme inode
 Similaire la notion de pointeurs du langage C
 Deux liens physiques sont considrs comme 2 fichiers
indpendants ( 2 i-nodes diffrents)
Mme si leur contenu est au mme emplacement sur le support
 Le lien physique est vu comme un fichier rgulier

 Crer un lien physique avec la commande ln :

nom fichier

karim@Nom:~/Documents$ ln /home/karim/Documents/rapport2007/home/karim/Documents/rapport2007-2008.doc rap0708


karim@Nom:~/Documents/essais$ ls -il
total 176
cible
470930 -rw-r--r-- 2 karim karim 84091 2008-08-25 14:48 rap0708
470930 -rw-r--r-- 2 karim karim 84091 2008-08-25 14:48 rapport-annee2007_2008.doc

L inode est identique.


Il sagit bien de liens
physiques

Nombre de liens vers cet inode.


Cest un indice permettant de
supposer quil sagit dun lien

 O seront copis les fichiers ?


Salim@Nom:~/Documents$ cp /usr/docs/usr/docs-ensa/* ensa/

 Rponse : Dans /home/jean/Documents/ensa/

 Que risque t-on deffacer ?


root@Nom:/# rm -r ./*

 Rponse : Tout le systme de fichiers !!! (en tant que root)

 Par quelle commande peut-on remplacer la suivante afin dviter


davoir plusieurs copies des mmes fichiers ?
karim@Nom:~$ cp -r /usr/docs/usr/docs-ensa ./

 Rponse : karim@Nom:~$

ln s /usr/docs/usr/docs-ensa docsdocs-ensa

 Comment copier des fichiers en conservant les droits des fichiers


sources ?
 Rponse : Utiliser loption -a de la commande cp

You might also like