Newer
Older
cours-unix-shell / UnixShell_cours2018 / tarzipCommands.fre.html
<html>
  <head>
    
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link REL="STYLESHEET" TYPE="text/css" TITLE="Style DILIB" HREF="../../dilib.css">
    <title>Nouvelles commandes : archives et (de)compression - UNIX</title>
    <style type="text/css">
      Q     { font-style: italic; }
      TABLE { text-align: center; }
    </style>
    <link rel="copyright" href="http://www.inist.fr/"><link rel="author" href="http://dilib.inist.fr/membres.html"><link rel="chapter" href="caracteristiques.fre.html" title="UNIX"><link rel="chapter" href="X.fre.html" title="X Window"><link rel="chapter" href="redirPipes.fre.html" title="Rappels"><link rel="chapter" href="newCommandsUser.fre.html" title="Commandes UNIX"><link rel="chapter" href="shellVars.fre.html" title="Shell"><link rel="chapter" href="sed.fre.html" title="Sed"><link rel="chapter" href="make.fre.html" title="Make"><link rel="index" href="http://dilib.inist.fr/dilib/v04Main/IndexSite/Server/FR.resource.index.html"><link rel="top" title="Accueil de DILIB" href="http://dilib.inist.fr/dilib/v04Main/"><link rel="alternate" title="English version" href="tarzipCommands.eng.html"><link rel="up" href="index.fre.html" title="Tutorial UNIX / Shell">
    <link rel="section" href="newCommandsUser.fre.html" title="Commandes utilisateur"><link rel="section" href="rightsCommands.fre.html" title="Gestion des droits"><link rel="section" href="tarzipCommands.fre.html" title="Archives, compression, d&eacute;compression"><link rel="section" href="processesCommands.fre.html" title="Gestion des processus"><link rel="section" href="tpNewCommands.fre.html" title="TP">
    <link rel="first" href="caracteristiques.fre.html" title="Caract&eacute;ristiques d'UNIX">
    <link rel="previous" href="rightsCommands.fre.html" title="Gestion des droits">
    <link rel="next" href="processesCommands.fre.html" title="Gestion des processus">
    <link rel="last" href="tpNewCommands.fre.html" title="Travaux Pratiques">
  </head>

  <body>
    <h1>Autres commandes Unix</h1>
    
    <div id="navcontainer">
      <ul id="navlist">
	<li><a href="caracteristiques.fre.html">UNIX</a>
	</li>
	<li><a href="redirPipes.fre.html">Bases</a>
	</li>
	<li><a>Commandes</a>
	  <ul id="subnavlist">
	    <li><a href="newCommandsUser.fre.html">Compl&eacute;mentaires</a></li>
	    <li><a href="rightsCommands.fre.html">Droits</a></li>
	    <li><a href="tarzipCommands.fre.html" id="subcurrent">Compression</a></li>
	    <li><a href="processesCommands.fre.html">Processus</a></li>
	    <li><a href="tpNewCommands.fre.html">TP</a></li>
	  </ul>
	</li>
	<li><a href="shellVars.fre.html">Shell</a>
	</li>
	<li><a href="sed.fre.html">Sed</a>
	</li>
	<li><a href="make.fre.html">Make</a>
	</li>
      </ul>
    </div>

    <div class="content">
    <h2>Archives, compression, d&eacute;compression</h2>

    <ul>
      <li><h4>tar</h4>

	<p>
	  Cette commande permet de cr&eacute;er un fichier archive
	  (appel&eacute; <code>tarfile</code>) qui peut contenir des
	  fichiers et r&eacute;pertoires. Ce fichier tarfile n'est pas
	  compress&eacute;. Cette commande peut &ecirc;tre utile pour
	  archiver un r&eacute;pertoire et tout ce qu'il contient en
	  un seul fichier.
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>tar -cvf Archives.tar Sauvegarde</td></tr>
        </table>
	<p>
	  La commande ci-dessus, avec les param&egrave;tres
	  <code>-cvf</code>, permet de cr&eacute;er une archive du
	  r&eacute;pertoire <code>Sauvegarde</code> dans le fichier
	  nomm&eacute; <code>Archives.tar</code>. Attention &agrave;
	  l'ordre des deux derniers param&egrave;tres.
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>tar -xvf Archives.tar</td></tr>
        </table>
	<p>
	  La m&ecirc;me commande <code>tar</code> avec les
	  param&egrave;tres <code>-xvf</code>, permet de
	  d&eacute;sarchiver le contenu du <code>tarfile</code>.
	  Attention au positionnement du d&eacute;sarchivage&nbsp;:
	  il s'op&egrave;re dans le r&eacute;pertoire courant.
	</p>
	<p>
	  Pour conna&icirc;tre le d&eacute;tail du contenu d'un
	  tarfile, il faut utiliser les param&egrave;tres <code>-tvf</code>.
	</p>
      </li>

      <li><h4>gzip</h4>

	<p>
	  Cette commande permet de compresser un fichier afin d'en
	  r&eacute;duire la taille, pour stockage ou
	  &eacute;change. Le fichier r&eacute;sultat est
	  renomm&eacute; par ajout de l'extension
	  <code>.gz</code>&nbsp;:
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>gzip corpus.xml</td></tr>
        </table>
	<p>
	  Par listing du contenu du r&eacute;pertoire o&ugrave; la
	  compression a &eacute;t&eacute; r&eacute;alis&eacute;e, l'on
	  peut voir que le fichier <code>corpus.xml</code> a disparu
	  et a &eacute;t&eacute; remplac&eacute; par
	  <code>corpus.xml.gz</code>.
	</p>

	<p>
	  Il est possible d'obtenir la taille d'un fichier non
	  compress&eacute; &agrave; partir de son fichier
	  compress&eacute; en gzip.
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>gzip -l corpus.xml.gz</td></tr>
        </table>
	<p>
	  Quatre informations sont alors affich&eacute;es &agrave;
	  l'&eacute;cran&nbsp;:
	</p>
	<ul>
	  <li>la taille en octets du fichier compress&eacute;</li>
	  <li>la taille en octets du fichier non compress&eacute;</li>
	  <li>le ratio de compression</li>
	  <li>le nom du fichier initial, non compress&eacute;</li>
	</ul>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td style="text-align:left">compressed&nbsp;uncompr.&nbsp;ratio&nbsp;uncompressed_name<br>77366&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;370713&nbsp;&nbsp;&nbsp;79.1%&nbsp;corpus.xml</td></tr>
        </table><br>
      </li>

      <li><h4>gunzip</h4>

	<p>
	  Cette commande permet de d&eacute;compresser un fichier
	  compress&eacute; en <code>.gz</code>. Sans
	  param&egrave;tres, le fichier est d&eacute;compress&eacute;
	  sur disque et renomm&eacute; sans l'extension
	  <code>.gz</code>. Attention, la place en octets prise
	  correspond bien au fichier d&eacute;compress&eacute;. Cette
	  commande est &eacute;quivalente &agrave; <code>gzip -d</code>.
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>gunzip corpus.xml.gz</td></tr>
        </table>
	<p>
	  La commande ci-dessus restaure le fichier
	  <code>corpus.xml</code>, qui remplace dans le
	  r&eacute;pertoire courant l'ancien fichier
	  <code>corpus.xml.gz</code> de plus petite taille.
	</p>
	<p>
	  S'il faut travailler avec un fichier compress&eacute; sans
	  le d&eacute;compresser sur disque, il faut alors qu'il soit
	  seulement d&eacute;compress&eacute; vers la sortie
	  standard. Ensuite, il suffira d'encha&icirc;ner les
	  commandes requises avec des pipes. Par exemple&nbsp;:
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>gunzip -c corpus.xml.gz | wc -l</td></tr>
        </table><br>
      </li>

      <li><h4>gzcat ou zcat</h4>

	<p>
	  Cette commande est &eacute;quivalente &agrave; <code>gunzip
	  -c.</code>
	</p>
	<table bgcolor="yellow" border="1" class="commands" style="margin-left:0;">
	    <tr><td>gzcat corpus.xml.gz | wc -l</td></tr>
        </table><br>
      </li>

    </ul>
    </div>
    <hr>
    <address><a href="mailto:philippe.houdry@inist.fr">Philippe.Houdry@inist.fr</a></address>
  </body>
</html>