Sophie

Sophie

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

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</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="ch09s02.html" title="Tout est fichier"><link rel="next" href="ext2fs-pipe.html" title='Tubes "anonymes" et tubes nommés'></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</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch09s02.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-pipe.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"></a>Les liens</h2></div></div><div></div></div><p><a name="BId-ext2fs-pa30"></a><a class="indexterm" name="BId-ext2fs-it17"></a>Pour mieux comprendre ce que cache cette notion de
	liens, passons par une illustration. Créons un fichier
	(ordinaire) :</p><a name="BId-ext2fs-pl1"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ pwd
/home/reine/exemple
$ ls
$ touch a
$ ls -il a
  32555 -rw-rw-r--    1 reine       reine              0 Dec 10 08:12 a</pre></td></tr></table><p><a name="BId-ext2fs-pa31"></a>L'option <tt class="option">-i</tt> de la commande <span><b class="command">ls</b></span> affiche le numéro
d'i-nœud, qui constitue le premier champ dans la sortie ; comme
on le constate, avant que ne soit créé le fichier <tt class="filename">a</tt>, le
répertoire était vide de tout autre fichier. Le troisième champ
présente également un intérêt : il est le compteur de liens pour
le fichier (pour l'i-nœud en fait...).
</p><p><a name="BId-ext2fs-pa32"></a>On peut séparer la commande <span><b class="command">touch a</b></span> en deux actions
distinctes :
</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-ext2fs-pa33"></a> création d'un i-nœud, auquel le système a attribué le numéro 32555, dont le type est celui d'un fichier ordinaire,
</p></li><li><p><a name="BId-ext2fs-pa34"></a> création d'un lien vers cet i-nœud, nommé
		    <tt class="filename">a</tt>, dans le répertoire
		    courant,
		    <tt class="filename">/home/reine/exemple</tt>. Par
		    conséquent, le « <span class="quote">fichier</span> » appelé
		    <tt class="filename">/home/reine/exemple/a</tt> est un
		    lien vers l'i-nœud de numéro 32555. Il est
		    pour l'instant le seul et le compteur de liens
		    indique donc <tt class="literal">1</tt>.
</p></li></ul></div><p><a name="BId-ext2fs-pa35"></a>
Et si, maintenant, nous entrons :
</p><a name="BId-ext2fs-pl2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ ln a b
$ ls -il a b
  32555 -rw-rw-r--    2 reine       reine              0 Dec 10 08:12 a
  32555 -rw-rw-r--    2 reine       reine              0 Dec 10 08:12 b
$</pre></td></tr></table><p><a name="BId-ext2fs-pa36"></a>nous avons créé un autre lien vers le même i-nœud. Comme on peut
le constater, aucun fichier nommé <tt class="filename">b</tt> n'a été créé, mais ce
qui a été ajouté est en fait un autre lien vers l'i-nœud de
numéro 32555 dans le même répertoire nommé <tt class="filename">b</tt>. La deuxième
sortie de <span><b class="command">ls -l</b></span> nous indique ainsi que le compteur de
liens est maintenant à 2 et non plus à 1.
</p><p><a name="BId-ext2fs-pa37"></a>
Et alors, si nous faisons ce qui suit :
</p><a name="BId-ext2fs-pl3"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ rm a
$ ls -il b
  32555 -rw-rw-r--    1 reine       reine              0 Dec 10 08:12 b
$</pre></td></tr></table><p><a name="BId-ext2fs-pa38"></a>
nous voyons que même si nous avons effacé le « <span class="quote">fichier original</span> », l'i-nœud existe encore. Mais maintenant le seul lien vers cet i-nœud est <tt class="filename">/home/reine/exemple/b</tt>.
</p><p><a name="BId-ext2fs-pa39"></a>Ainsi, un fichier sous <span class="application">UNIX</span> n'a pas de nom. À la place, il a un
ou plusieurs <a name="BId-ext2fs-gt10" href="glossary.html#term-link"><i class="glossterm">liens</i></a>, dans un ou
plusieurs répertoires.</p><p><a name="BId-ext2fs-pa40"></a>Les répertoires eux-mêmes
      sont aussi stockés dans des i-nœuds, leur compteur de
      liens, correspond au nombre de leurs sous-répertoires. Cela est
      dû au fait qu'il existe au moins deux liens par
      répertoire : le répertoire lui-même
      (<tt class="filename">.</tt>) et son répertoire parent
      (<tt class="filename">..</tt>).
</p><p><a name="BId-ext2fs-pa41"></a>Des exemples typiques de
      fichiers qui ne sont pas liés (ils n'ont pas de noms) sont les
      connexions réseau : il vous sera impossible de voir le
      fichier correspondant à votre connexion à <a href="www.mandrakelinux.com" target="_top"><span class="application">Mandrakelinux</span></a> dans votre
      arborescence, quel que soit le répertoire que vous essayiez. De
      même, quand vous utilisez un <a name="BId-ext2fs-gt11" href="glossary.html#term-pipe"><i class="glossterm">tube</i></a> dans le <span class="foreignphrase"><i class="foreignphrase">shell</i></span>, le
      fichier correspondant au tube existe bien, mais il n'est pas
      lié. Les i-nœuds sans nom sont aussi utilisés pour les
      fichiers temporaires. Vous pouvez créer ainsi un fichier
      temporaire, le manipuler puis le fermer. Il existe lorsqu'il est
      ouvert, mais personne d'autre ne peut l'ouvrir (puisqu'il n'a
      pas de nom). De cette façon, même si l'application plante, le
      fichier temporaire est effacé.</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch09s02.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-pipe.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Tout est fichier </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> Tubes "anonymes" et tubes nommés</td></tr></table></div></body></html>