Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 664c05250964d29fcf1d0bb310959fbc > files > 46

mandrake-doc-fr-10.0-5.1.100mdk.noarch.rpm

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Les liens symboliques et la limitation des
    liens en dur</title><meta name="generator" content="DocBook XSL Stylesheets V1.64.0"><link rel="home" href="index.html" title="Manuel de référence"><link rel="up" href="ext2fs.html" title="Chapitre 9. Le système de fichiers Linux"><link rel="previous" href="ext2fs-special.html" title="Les fichiers spéciaux : fichiers mode bloc et caractère"><link rel="next" href="ext2fs-attr.html" title="Les attributs des fichiers"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Les liens symboliques et la limitation des
    liens en dur</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ext2fs-special.html">Précédent</a> </td><th width="60%" align="center">Chapitre 9. Le système de fichiers Linux</th><td width="20%" align="right"> <a accesskey="n" href="ext2fs-attr.html">Suivant</a></td></tr></table><hr></div><div class="sect1" lang="fr"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ext2fs-ln-s"></a>Les liens symboliques et la limitation des
    liens <tt class="literal">en dur</tt></h2></div></div><div></div></div><p><a name="BId-ext2fs-pa52"></a>Il nous faut nous confronter à un
	malentendu très courant, même chez les utilisateurs
	d'<span class="application">UNIX</span>. Celui-ci est, essentiellement, dû au fait qu'on
	attache la notion de liens (d'ailleurs faussement appelés
	« <span class="quote">liens en dur</span> ») aux fichiers ordinaires
	uniquement. Nous avons vu que ce n'est aucunement le cas
	puisque même les liens symboliques sont
	« <span class="quote">liés</span> ». Il nous faudra tout d'abord clarifier ce
	que sont ces liens symboliques<sup>[<a name="id2556158" href="#ftn.id2556158">26</a>]</sup>.  </p><p><a name="BId-ext2fs-pa53"></a><a class="indexterm" name="BId-ext2fs-it21"></a>Les liens symboliques sont des fichiers d'un type
	particulier dont le seul contenu est une chaîne de caractères
	arbitraire, qui peut ou non pointer sur un vrai nom de
	fichier. Quand vous mentionnez un lien symbolique sur la ligne
	de commande ou dans un programme, vous accédez en fait au
	fichier sur lequel pointe le lien, s'il existe. Par
	exemple :</p><a name="BId-ext2fs-pl10"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"> 
$ echo Bonjour &gt;monfichier
$ ln -s monfichier monlien
$ ls -il
total 4
    169 -rw-rw-r--    1 reine    reine           6 déc 10 21:30 monfichier
    416 lrwxrwxrwx    1 reine    reine           6 déc 10 21:30 monlien
-&gt; monfichier
$ cat monfichier
Bonjour
$ cat monlien
Bonjour</pre></td></tr></table><p><a name="BId-ext2fs-pa54"></a>
On constatera, d'une part, que le type du fichier <tt class="filename">monlien</tt>
est <tt class="literal">'l'</tt> (les droits d'accès à un lien symbolique n'ont
aucune signification : ils seront toujours
<tt class="literal">rwxrwxrwx</tt>) ;
et d'autre part, qu'il s'agit d'un fichier distinct de
<tt class="filename">monfichier</tt>, parce que son numéro d'i-nœud est
différent. Mais il se réfère au fichier <tt class="filename">monfichier</tt> de
façon symbolique. Ainsi, lorsque vous tapez <span><b class="command">cat monlien</b></span>,
vous affichez en fait le contenu du fichier <tt class="filename">monfichier</tt>.
Pour démontrer qu'un lien symbolique contient une chaîne arbitraire, nous
pouvons faire ceci :
</p><a name="BId-ext2fs-pl11"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"> 
$ ln -s "Je n'existe pas" unautrelien
$ ls -il unautrelien
    747 lrwxrwxrwx    1 reine    reine          15 déc 15 18:01 unautrelien
-&gt; Je n'existe pas
$ cat unautrelien
cat: unautrelien: Aucun fichier ou répertoire de ce type
$</pre></td></tr></table><p><a name="BId-ext2fs-pa55"></a>Si les liens symboliques existent,
c'est parce qu'ils peuvent se libérer de certaines limites imposées
aux liens normaux (« <span class="quote">en dur</span> »)  : <a class="indexterm" name="BId-ext2fs-it22"></a></p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-ext2fs-pa56"></a> deux fichiers qui existent sur des systèmes de fichiers distincts ne
 peuvent être liés ; et ceci pour une raison bien simple : le
 compteur de liens est stocké dans l'i-nœud lui-même, et les
 i-nœuds ne peuvent être partagés par plusieurs systèmes de
 fichiers. Les liens symboliques, quant à eux, le permettent ;
</p></li><li><p><a name="BId-ext2fs-pa57"></a>deux répertoires ne
	  peuvent être liés pour éviter de créer des boucles dans le
	  système de fichiers. Cependant, on pourra faire pointer un
	  lien symbolique sur un répertoire et l'utiliser comme s'il
	  s'agissait vraiment d'un répertoire.</p></li></ul></div><p><a name="BId-ext2fs-pa58"></a>Les liens symboliques sont souvent d'une très grande utilité dans de nombreuses situations. Cependant, il est fréquent de les voir utiliser pour lier des fichiers qui pourraient l'être par un lien normal. Pourtant, l'avantage de ce dernier est qu'il empêche la perte du fichier lorsque l'« <span class="quote">original</span> » est effacé.
</p><p><a name="BId-ext2fs-pa59"></a>
Et puis, pour finir, vous aurez remarqué que la taille d'un lien symbolique  correspond tout simplement à... la taille de la chaîne de caractères.
</p><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2556158" href="#id2556158">26</a>] </sup>En anglais, les liens symboliques sont aussi
	appelés « <span class="quote">soft links</span> », tandis que les liens
	normaux sont appelés (toujours faussement) « <span class="quote">hard
	links</span> », ce qui donne l'expression française (toujours
	aussi fausse) de liens « <span class="quote">en dur</span> ».</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ext2fs-special.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="ext2fs.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="ext2fs-attr.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Les fichiers spéciaux : fichiers mode bloc et caractère </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> Les attributs des fichiers</td></tr></table></div></body></html>