Sophie

Sophie

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

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

<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Opérations sur les fichiers et filtres</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="cmdutils.html" title="Chapitre 5. Les utilitaires en ligne de commande"><link rel="previous" href="cmdutils.html" title="Chapitre 5. Les utilitaires en ligne de commande"><link rel="next" href="command-find.html" title="find : rechercher des fichiers selon
certains critères"></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">Opérations sur les fichiers et filtres</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="cmdutils.html">Précédent</a> </td><th width="60%" align="center">Chapitre 5. Les utilitaires en ligne de commande</th><td width="20%" align="right"> <a accesskey="n" href="command-find.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="command-files"></a>Opérations sur les fichiers et filtres</h2></div></div><div></div></div><p><a name="BId-cmdutils-pa3"></a>La plupart du travail en ligne de commande
s'applique à des fichiers. Dans cette section nous allons voir comment
surveiller et filtrer l'information dans les fichiers, extraire des
informations spécifiques avec une simple commande, et trier des
fichiers</p><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="command-cat"></a>cat, tail, head, tee : afficher des
   fichiers</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa4"></a>Ces commandes ont pratiquement toutes la même
    syntaxe :

 <a name="BId-cmdutils-sc1"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">commande [option(s)] [fichier(s)]</pre></td></tr></table><p>
	
    et peuvent être utilisées dans un tube. Toutes sont utilisées pour
    imprimer une partie d'un fichier selon certains critères.</p><p><a name="BId-cmdutils-pa5"></a>L'utilitaire <span><b class="command">cat</b></span>
    agglomère des fichiers et les imprime sur la sortie
    standard. C'est une des commandes les plus utilisées. Vous pouvez
    utiliser :</p><a name="BId-cmdutils-pl1"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># cat /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa139"></a>pour afficher, par exemple, le
    contenu du journal (<span class="foreignphrase"><i class="foreignphrase">log</i></span>) du démon
    de courrier sur la sortie standard<sup>[<a name="id2543708" href="#ftn.id2543708">15</a>]</sup>. la
    commande <span><b class="command">cat</b></span> a une option très utile (<tt class="option">-n</tt>)
    qui permet de numéroter les lignes affichées.</p><p><a name="BId-cmdutils-pa7"></a>Certains fichiers, comme
    les fichiers journaux des démons (s'ils sont utilisés), sont
    souvent de taille énorme<sup>[<a name="id2543774" href="#ftn.id2543774">16</a>]</sup> et les afficher dans leur
    intégralité à l'écran n'a aucun intérêt. Vous voudrez souvent ne
    consulter que quelques lignes d'un fichier. Vous pouvez par
    exemple utiliser la commande <span><b class="command">tail</b></span> pour n'afficher que les
    dernières lignes de
    <tt class="filename">/var/log/mail/info</tt> :</p><a name="BId-cmdutils-pl2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa140"></a>Elle affichera les
    dix dernières lignes du fichier
    <tt class="filename">/var/log/mail/info</tt>. Si vous souhaitez
    n'afficher que les deux premières lignes vous pouvez utiliser
    l'option <tt class="option">-n</tt> :</p><a name="BId-cmdutils-pl3"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n2 /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa9"></a>La commande <span><b class="command">head</b></span>
    est similaire à <span><b class="command">tail</b></span>, mais affiche les premières lignes
    d'un fichier. Sans option, elle affiche les 10 premières lignes
    du fichier spécifié :</p><a name="BId-cmdutils-pl4"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># head /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa141"></a>Cette commande sans option affiche
    les 10 premières lignes de
    <tt class="filename">/var/log/mail/info</tt>. Comme avec <span><b class="command">tail</b></span>
    vous pouvez imprimer les deux dernières lignes à l'aide de
    l'option <tt class="option">-n</tt> :</p><a name="BId-cmdutils-pl5"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># head -n2 /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa10"></a>Vous pouvez aussi
    utiliser ces commandes de concert. Par exemple, si vous souhaitez
    seulement afficher les lignes 9 et 10, vous pouvez lancer la
    commande <span><b class="command">head</b></span> qui sélectionnera les 10 premières lignes du
    fichier, les passera à la commande <span><b class="command">tail</b></span> au travers d'un tube
    (<tt class="literal">|</tt>) :</p><a name="BId-cmdutils-pl6"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># head /var/log/mail/info | tail -n2</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa142"></a>La dernière partie
    de la commande sélectionnera les 2 dernières lignes et les
    imprimera à l'écran. De la même façon vous pouvez sélectionner
    toutes les lignes à partir de la ligne 20 :</p><a name="BId-cmdutils-pl7"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n20 /var/log/mail/info |head -n1</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa143"></a>Dans cet exemple,
    nous disons à <span><b class="command">tail</b></span> de sélectionner les 20 dernières lignes
    du fichier, puis de les passer à <span><b class="command">head</b></span>. Cette dernière en
    affiche alors la première ligne.</p><p><a name="BId-cmdutils-pa11"></a>Supposons maintenant que
    nous souhaitions à la fois afficher à l'écran et enregistrer le
    résultat de la commande précédente dans le fichier
    <tt class="filename">resultats.txt</tt>. L'utilitaire <span><b class="command">tee</b></span> va
    nous y aider. Sa syntaxe est :</p><a name="BId-cmdutils-sc2"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">tee [option(s)] [file]</pre></td></tr></table><p><a name="BId-cmdutils-pa12"></a>Nous changeons alors la commande
   précédente :</p><a name="BId-cmdutils-pl8"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n20 /var/log/mail/info |head -n1|tee resultats.txt</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa144"></a>Prenons un autre
    exemple. Nous voulons sélectionner les 20 dernières lignes, les
    enregistrer dans <tt class="filename">resultats.txt</tt>, mais afficher
    à l'écran seulement les premières de ces lignes. Nous écrivons
    alors :</p><a name="BId-cmdutils-pl9"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -n20 /var/log/mail/info |tee resultats.txt |head -n1</pre></td></tr></table><p><a name="BId-cmdutils-pa13"></a>La commande <span><b class="command">tee</b></span> a une option très
    utile (<tt class="option">-a</tt>) qui permet d'ajouter les informations
    reçues à un fichier existant au lieu de l'écraser.</p><p><a name="BId-cmdutils-pa14"></a>Revenons à la commande
    <span><b class="command">tail</b></span>. Les fichiers comme les journaux changent souvent car
    les démons y rajoutent sans cesse de l'information au sujet de
    leur activité. Si vous voulez alors surveiller de manière
    interactive des changements sur ces journaux, vous pouvez tirer
    avantage de l'une des options les plus utiles de
    <span><b class="command">tail</b></span> : <tt class="option">-f</tt>:</p><a name="BId-cmdutils-pl10"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># tail -f /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa145"></a>Dans ce cas, tous les changements
    dans le fichier <tt class="filename">/var/log/mail/info</tt> sont
    affichés immédiatement à l'écran. Cette option est très utile pour
    surveiller l'activité de votre système. Par exemple, en regardant
    dans le journal <tt class="filename">/var/log/messages</tt>, vous
    pouvez surveiller les messages du système et plusieurs
    démons. Cette option peut aussi être utilisée pour surveiller
    n'importe quel autre fichier.</p><p><a name="BId-cmdutils-pa15"></a>Dans la section qui suit nous allons voir
    comment nous pouvons utiliser <span class="application">grep</span> comme filtre pour
    séparer les messages de <span class="application">Postfix</span> des messages émanant des
    autres services.</p><p> </p><p> </p><p> </p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="command-grep"></a>grep : rechercher du texte dans un
      ou plusieurs fichier(s)</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa16"></a>
         <a class="indexterm" name="BId-cmdutils-it1"></a>D'accord, le nom n'est pas intuitif mais son
	utilisation est très simple : il cherche un motif donné
	en argument dans un ou plusieurs fichiers. Sa syntaxe
	est :

<a name="BId-cmdutils-sc3"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">grep [options] &lt;motif&gt; [un ou plusieurs fichier(s)]</pre></td></tr></table><p>

Si on a précisé plusieurs noms de fichiers, ceux-ci apparaîtront en
début des lignes et rempliront les critères du motif, à moins qu'on
ait utilisé l'option <tt class="option">-h</tt>. L'option
<tt class="option">-l</tt>, quant à elle, a pour effet de n'afficher que le
nom des fichiers dont au moins une ligne remplit les conditions du
motif.  Le motif est une expression régulière, bien que la plupart du
temps il ne consiste qu'en un simple mot.  Les options les plus
couramment utilisées sont les suivantes :</p><div class="orderedlist"><ol type="1"><li><p><a name="BId-cmdutils-pa17"></a><tt class="option">-i</tt> : rechercher
               en ignorant la casse (c'est-à-dire ignorer la
               différence entre majuscules et minuscules).</p></li><li><p><a name="BId-cmdutils-pa18"></a><tt class="option">-v</tt> : inverser la
recherche, donc trouver les lignes ne correspondant
<span class="emphasis"><em>pas</em></span> au motif.</p></li><li><p><a name="BId-cmdutils-pa19"></a><tt class="option">-n</tt> :
      afficher le numéro de ligne pour chaque ligne
      trouvée.</p></li><li><p><a name="BId-cmdutils-pa20"></a><tt class="option">-w</tt> : dit à
      <span class="application">grep</span> que le motif doit correspondre à un mot
      entier. Attention, les caractères considérés comme pouvant faire
      partie d'un mot dépendent du réglage de la langue.</p></li></ol></div><p><a name="BId-cmdutils-pa21"></a>Reprenons notre exemple
    du fichier journal du démon de courrier. Nous souhaitons trouver
    toutes les lignes du fichier
    <tt class="filename">/var/log/mail/info</tt> qui contiennent la
    séquence « <span class="quote">postfix</span> » :</p><a name="BId-cmdutils-pl11"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># grep postfix /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa22"></a>La commande <span class="application">grep</span> peut être utilisée
    dans un tube. Nous pouvons ainsi obtenir le même résultat en
    faisant :


<a name="BId-cmdutils-pl12"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># cat /var/log/mail/info | grep postfix </pre></td></tr></table><p>
</p><p><a name="BId-cmdutils-pa23"></a>Si nous voulons inverser
    la condition pour sélectionner les lignes qui ne contiennent pas
    la séquence « <span class="quote">postfix</span> », nous utilisons l'option
    <tt class="option">-v</tt> :</p><a name="BId-cmdutils-pl13"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># grep -v postfix /var/log/mail/info</pre></td></tr></table><p><a name="BId-cmdutils-pa24"></a>Supposons que nous
    voulions trouver tous les messages signalant un message envoyé
    avec succès. Dans ce cas, nous devons filtrer les lignes du
    journal provenant du démon de courrier (contenant donc la séquence
    « <span class="quote">postfix</span> ») contenant la séquence indiquant un envoi
    réussi (« <span class="quote">status=sent</span> ») :</p><a name="BId-cmdutils-pl14"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># grep postfix /var/log/mail/info |grep status=sent</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa146"></a>Dans ce cas,
    <span class="application">grep</span> est utilisé deux fois. C'est possible mais pas très
    élégant. Nous pouvons obtenir le même résultat en utilisant
    l'utilitaire <span><b class="command">fgrep</b></span>. Pour cela nous devons créer le fichier
    <tt class="filename">sequences.txt</tt> contenant les séquences écrites
    sur une colonne. Un tel fichier peut être obtenu de cette
    façon :</p><a name="BId-cmdutils-pl15"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># echo -e 'status=sent\npostfix' &gt;./sequences.txt</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa147"></a>Nous appelons alors une commande
    utilisant le fichier de séquences
    <tt class="filename">sequences.txt</tt> et l'utilitaire <span><b class="command">fgrep</b></span> au
    lieu du double appel à <span class="application">grep</span> :</p><a name="BId-cmdutils-pl16"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># fgrep -f ./sequences.txt /var/log/mail/info</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa148"></a>Le fichier
    <tt class="filename">./sequences.txt</tt> peut contenir autant de
    séquences de filtrage que vous le souhaitez. Chacune d'elles doit
    se trouver sur une nouvelle ligne. Par exemple, pour sélectionner
    les messages correctement envoyés à
    <tt class="literal">pierre@mandrakesoft.com</tt>, il suffira de rajouter
    cette adresse dans notre fichier
    <tt class="filename">./sequences.txt</tt> et lancer cette
    commande :</p><a name="BId-cmdutils-pl17"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># echo 'pierre@mandrakesoft.com' &gt;&gt;./sequences.txt</pre></td></tr></table><p><a name="BId-cmdutils-pa25"></a>Il est évident que vous pouvez
    combiner <span class="application">grep</span> avec <span><b class="command">tail</b></span> et <span><b class="command">head</b></span>. Si nous
    souhaitons trouver l'avant-dernier message envoyé à Pierre, nous
    tapons :</p><a name="BId-cmdutils-pl18"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># fgrep -f ./sequences.txt /var/log/mail/info | tail -n2 | head -n1</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa149"></a>Nous appliquons ici le filtre
    construit précédemment et dirigeons le résultat dans un tube pour
    les commandes <span><b class="command">tail</b></span> et <span><b class="command">head</b></span>. Elles se chargent de
    sélectionner l'avant-dernière ligne des données reçues.</p></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="command-wc"></a>wc : compter des éléments de fichier</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa26"></a>la commande <span><b class="command">wc</b></span>
    (<span class="foreignphrase"><i class="foreignphrase">Word Count</i></span> : compteur de
    mots) est utilisée pour compter le nombre de lignes et de mots
    d'un fichier. Elle peut aussi servir à compter le nombre d'octets,
    de caractères, et la longueur de la ligne la plus longue. Sa
    syntaxe est :</p><a name="BId-cmdutils-sc4"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">wc [option(s)] [fichier(s)]</pre></td></tr></table><p><a name="BId-cmdutils-pa27"></a>Les options suivantes sont
   particulièrement utiles :</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa28"></a><tt class="option">-l</tt>: affiche le nombre
     de lignes ;</p></li><li><p><a name="BId-cmdutils-pa29"></a><tt class="option">-w</tt>: affiche le nombre
     de mots ;</p></li><li><p><a name="BId-cmdutils-pa30"></a><tt class="option">-m</tt>: affiche le nombre
     total de caractères;</p></li><li><p><a name="BId-cmdutils-pa31"></a><tt class="option">-c</tt>: affiche le nombre
     total d'octets ;</p></li><li><p><a name="BId-cmdutils-pa32"></a><tt class="option">-L</tt>: affiche la longueur
     de la plus longue ligne du texte d'entrée.</p></li></ul></div><p><a name="BId-cmdutils-pa33"></a>la commande <span><b class="command">wc</b></span> affiche par défaut
    le nombre de lignes, mots et caractères du fichier fourni. Voici
    quelques exemples :</p><p><a name="BId-cmdutils-pa34"></a>Si nous souhaitons connaître le nombre
    d'utilisateurs sur notre système, nous pouvons taper :</p><a name="BId-cmdutils-pl19"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$wc -l /etc/passwd </pre></td></tr></table><p><a name="BId-cmdutils-pa35"></a>Si nous souhaitons connaître le nombre de
   processeurs sur notre système : </p><a name="BId-cmdutils-pl20"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$grep "model name" /proc/cpuinfo |wc -l</pre></td></tr></table><p><a name="BId-cmdutils-pa36"></a>Dans la section
    précédente, nous avons obtenu une liste de messages correspondant
    aux séquences du fichier <tt class="filename">./sequences.txt</tt>. Si
    nous souhaitons connaître le nombre de ces messages, nous pouvons
    rediriger les résultats de notre filtre dans un tube pour la
    commande <span><b class="command">wc</b></span> :</p><a name="BId-cmdutils-pl21"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting"># fgrep -f ./sequences.txt /var/log/mail/info | wc -l	</pre></td></tr></table></div><div class="sect2" lang="fr"><div class="titlepage"><div><div><h3 class="title"><a name="command-sort"></a>sort: Trier le contenu de
   fichiers</h3></div></div><div></div></div><p><a name="BId-cmdutils-pa37"></a>Voici la syntaxe de cet utilitaire de tri
   très puissant<sup>[<a name="id2545052" href="#ftn.id2545052">17</a>]</sup>:</p><a name="BId-cmdutils-sc5"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="screen">sort [option(s)] [fichier(s)]</pre></td></tr></table><p><a name="BId-cmdutils-pa39"></a>Considérons le tri du fichier
    <tt class="filename">/etc/passwd</tt>. Comme vous pouvez le
    voir :</p><a name="BId-cmdutils-pl22"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ cat /etc/passwd</pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa150"></a>Nous voulons le trier par champ
    <tt class="literal">login</tt> (nom d'utilisateur) :</p><a name="BId-cmdutils-pl23"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd </pre></td></tr></table><p><a name="BId-cmdutils-pa40"></a>La commande <span><b class="command">sort</b></span> trie les données
    par ordre croissant sur le premier champ (dans notre cas, le
    <tt class="literal">login</tt>) par défaut. Si nous voulons trier les
    données par ordre décroissant il faut utiliser l'option
    <tt class="option">-r</tt> :</p><a name="BId-cmdutils-pl24"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort -r /etc/passwd </pre></td></tr></table><p><a name="BId-cmdutils-pa41"></a>Chaque utilisateur a son propre
    <tt class="literal">UID</tt> (identifiant numérique de l'utilisateur)
    écrit dans le fichier <tt class="filename">/etc/passwd</tt>. Trions
    donc les utilisateurs selon leur
    <tt class="literal">UID</tt> :</p><a name="BId-cmdutils-pl25"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd -t":" -k3 -n </pre></td></tr></table><p><a name="BIdNEW-cmdutils-pa151"></a>Nous avons utilisé ici les options
    suivantes de <span><b class="command">sort</b></span> :</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa42"></a><tt class="option">-t":"</tt>: indique à
      <span><b class="command">sort</b></span> que le séparateur de champs est le symbole
      <tt class="literal">":"</tt> ;</p></li><li><p><a name="BId-cmdutils-pa43"></a><tt class="option">-k3</tt>: indique que le tri
     doit s'effectuer sur la troisième colonne ;</p></li><li><p><a name="BId-cmdutils-pa44"></a><tt class="option">-n</tt>:
      indique que le tri doit s'effectuer sur des données numériques et
      non pas alphabétiques.</p></li></ul></div><p><a name="BId-cmdutils-pa45"></a>Et par ordre
   décroissant :</p><a name="BId-cmdutils-pl26"></a><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd -t":" -k3 -n -r </pre></td></tr></table><p><a name="BId-cmdutils-pa46"></a>Notez bien ces deux options importantes de
   <span><b class="command">sort</b></span> :</p><div class="itemizedlist"><ul type="disc"><li><p><a name="BId-cmdutils-pa47"></a><tt class="option">-u</tt>: fournit
      un ordre strict : les doublons sont écartés ;</p></li><li><p><a name="BId-cmdutils-pa48"></a><tt class="option">-f</tt>: ignore
     la casse (ne fait pas de différence entre minuscules et
     majuscules).</p></li></ul></div><p><a name="BId-cmdutils-pa49"></a>Enfin, si nous voulons
    trouver l'utilisateur ayant l'identifiant <tt class="literal">UID</tt>
    le plus élevé :

<a name="BId-cmdutils-pl27"></a></p><table border="0" bgcolor="#E0E0E0"><tr><td><pre class="programlisting">$ sort /etc/passwd -t":" -k3 -n |tail -n1</pre></td></tr></table><p>

    Nous trions le fichier <tt class="filename">/etc/passwd</tt> par ordre
    d'<tt class="literal">UID</tt> ascendant, et redirigeons le résultat sur
    un tube pour la commande <span><b class="command">tail</b></span> qui ne laisse passer que la
    première ligne.</p></div><div class="footnotes"><br><hr width="100" align="left"><div class="footnote"><p><sup>[<a name="ftn.id2543708" href="#id2543708">15</a>] </sup>Certains exemples de cette section sont
    basés sur des tâches réelles avec des fichiers journaux de
    certains services. Assurez-vous que le démon
    <span class="application">syslogd</span> soit lancé (il permet aux
    autres démons d'écrire leurs journaux), ainsi que le démon dont il
    est question (ici <span class="application">Postfix</span>) et que vous travaillez en tant
    que <tt class="literal">root</tt>. Vous pouvez quoi qu'il en soit toujours
    appliquer les exemples à d'autres fichiers.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2543774" href="#id2543774">16</a>] </sup>Par
    exemple, le fichier <tt class="filename">/var/log/mail/info</tt>
    enregistre toutes les informations à propos des messages envoyés,
    messages rapatriés par les utilisateurs avec le protocole
    <tt class="systemitem">POP</tt>, etc.</p></div><div class="footnote"><p><sup>[<a name="ftn.id2545052" href="#id2545052">17</a>] </sup>Nous ne parlons
   que brièvement de <span><b class="command">sort</b></span> ici car des livres entiers pourraient
   être écrits sur le sujet.</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="cmdutils.html">Précédent</a> </td><td width="20%" align="center"><a accesskey="u" href="cmdutils.html">Niveau supérieur</a></td><td width="40%" align="right"> <a accesskey="n" href="command-find.html">Suivant</a></td></tr><tr><td width="40%" align="left" valign="top">Chapitre 5. Les utilitaires en ligne de commande </td><td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td><td width="40%" align="right" valign="top"> find : rechercher des fichiers selon
certains critères</td></tr></table></div></body></html>