tuteurs.ens.fr/unix/archives.tml

449 lines
12 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Archiver</title>
</head>
<body>
<h1>Archiver et compresser sous Unix</h1>
<p>
Cette page a pour but de vous apprendre <20> compresser et <20> archiver des
fichiers sous Unix. Mais d'abord, commen<65>ons par expliquer chacune de
ces notions.
</p>
<h2>Introduction</h2>
<h3>Qu'est-ce que compresser/archiver&nbsp;?</h3>
<p>
<strong>Compresser</strong> un fichier, c'est le traiter d'une telle
sorte qu'il puisse occuper moins d'espace disque. Le principe de base de
la compression est d'<27>viter les redondances&nbsp;; par exemple, au lieu
d'<27>crire 1111111111111, il est plus <20>conomique d'<27>crire qu'il y a
treize&nbsp;<3B>&nbsp;1&nbsp;<3B> <20> la suite.</p>
<div class="attention"> <strong>Remarque terminologique</strong>&nbsp;:
le mot <20>&nbsp;compresser&nbsp;<3B> n'existe pas en bon fran<61>ais, car c'est
un anglicisme con<6F>u <20> partir du verbe <em>compress</em> qui signifie
comprimer. Toutefois, l'usage de ce verbe s'<27>tant tr<74>s largement
r<EFBFBD>pandu, nous le suivons l<>chement et tournons le dos au dictionnaire de
l'Acad<61>mie. </div>
<p>
Le but de l'<strong>archivage</strong> n'est pas de r<>duire l'espace
disque d'un fichier, mais de rassembler plusieurs fichiers en un seul,
afin de faciliter leur manipulation.
</p>
<p>
On peut compresser des fichiers archiv<69>s, et archiver des fichiers
compress<EFBFBD>s.
</p>
<p>
Dans les deux cas, le fichier est d'abord <em>cod<6F></em> par un programme
(de compression ou d'archive). Mais pour utiliser des fichiers (par
exemple pour les lire ou les modifier), il faut les
<em>d<>coder</em>. Cette page vous apprendra donc comment
<strong>compresser et d<>compresser, archiver et d<>sarchiver</strong> des
fichiers.
</p>
<h3>Pourquoi compresser/archiver&nbsp;?</h3>
<p>
Compresser permet d'<27>conomiser de l'espace disque&nbsp;; associ<63>e <20>
l'archivage, la compression se r<>v<EFBFBD>le tr<74>s utile. En particulier, <20>
l'ENS, les ressources en espace disque ne sont pas illimit<69>es&nbsp;;
consultez la <a href="place_disque.html">page des tuteurs consacr<63>e <20>
l'espace disque</a> pour plus d'informations.
</p>
<h2>Compresser et d<>compresser</h2>
<h3><a name="gzip">Gzip et gunzip</a></h3>
<p>
<code>Gzip</code> (GNU zip) est un outil de compression (extension<6F>:
.gz) qui a plus ou moins remplac<61> <code>compress</code><3E>: il est
plus puissant que <code>compress</code>, et il est fond<6E>, lui, sur des
algorithmes libres. <code>Gunzip</code> peut d<>compresser des fichiers
compress<EFBFBD>s par <code>gzip</code>, <code>compress</code> ou
<code>pack</code>. En revanche, il ne peut pas d<>compresser des
fichiers .zip (il faut utiliser <a
href="#zip"><code>unzip</code></a>).
</p>
<p>
Pour des raisons historiques, <code>gzip</code> est encore le plus
utilis<EFBFBD> des formats de compression, quand bien m<>me il n'est pas le plus
puissant.
</p>
<h4>Lire des fichiers compress<73>s avec <code>gzip</code></h4>
<p>
La grande majorit<69> des programmes est incapable de lire directement des
fichiers compress<73>s avec <code>gzip</code>&nbsp;: il faut pr<70>alablement
les d<>compresser. Il y a cependant des exceptions notables&nbsp;: </p>
<ul>
<li> la commande <strong><code>zcat</code></strong> <20>quivaut <20> la
commande <code>cat</code>, mais pour des fichiers compress<73>s avec
<code>gzip</code>&nbsp;;</li>
<li> la commande <strong><code>less</code></strong> d<>tecte et
d<EFBFBD>compresse automatiquement les fichiers compress<73>s avec
<code>gzip</code> (ce qui n'est pas le cas de la commande
<code>more</code>)&nbsp;;</li>
<li> la commande <strong><code>gv</code></strong> (Ghostview) d<>code
automatiquement les fichiers compress<73>s avec <code>gzip</code>&nbsp;;
vous pouvez donc sans probl<62>me compresser vos fichiers PostScript ou
PDF, car vous pourrez les lire sans avoir <20> les d<>compresser
pr<EFBFBD>alablement.</li>
</ul>
<h4>Synopsis de <code>gzip</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Compresser un fichier</td>
<td><code>gzip fichier</code></td>
</tr>
<tr>
<td>Compression optimis<69>e d'un fichier (pour fichiers &gt; 100 Ko)</td>
<td><code>gzip -9 fichier</code></td>
</tr>
<tr>
<td>D<>compresser un fichier gzipp<70></td>
<td><code>gunzip fichier.gz</code></td>
</tr>
<tr>
<td>Lire le contenu d'un fichier gzipp<70> (sans le d<>compresser)</td>
<td><code>zcat fichier.gz</code></td>
</tr>
</table>
<h3><a name="bzip2">Bzip2 et bunzip2</a></h3>
<p>
Bzip2 est un outil de compression (extension<6F>: .bz2) qui est plus lent
que gzip, mais plus puissant. Il est libre et fond<6E> sur un algorithme
libre, lui aussi.
</p>
<h4>Lire des fichiers compress<73>s avec <code>bzip2</code></h4>
<p>
Comme pour <code>gzip</code>, la grande majorit<69> des programmes est
incapable de lire directement des fichiers compress<73>s avec
<code>bzip2</code>, <20> quelques exceptions pr<70>s&nbsp;:</p>
<ul>
<li> la commande <strong><code>bzcat2</code></strong> <20>quivaut <20> la
commande <code>cat</code>, mais pour des fichiers compress<73>s avec
<code>bzip2</code>&nbsp;;</li>
<li> la commande <strong><code>less</code></strong> d<>tecte et
d<EFBFBD>compresse automatiquement les fichiers compress<73>s avec
<code>bzip2</code> (ce qui n'est pas le cas de la commande
<code>more</code>)&nbsp;;</li>
<li> la commande <strong><code>gv</code></strong> (Ghostview) d<>code
automatiquement les fichiers compress<73>s avec <code>bzip2</code>&nbsp;;
vous pouvez donc sans probl<62>me compresser vos fichiers PostScript ou
PDF, car vous pourrez les lire sans avoir <20> les d<>compresser
pr<EFBFBD>alablement. </li>
</ul>
<h4>Synopsis de <code>bzip2</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Compresser un fichier</td>
<td><code>bzip2 fichier</code></td>
</tr>
<tr>
<td>Compression optimis<69>e d'un fichier (pour fichiers &gt; 100 Ko)</td>
<td><code>bzip2 -9 fichier</code></td>
</tr>
<tr>
<td>D<>compresser un fichier gzipp<70></td>
<td><code>bunzip2 fichier.gz</code></td>
</tr>
<tr>
<td>Lire le contenu d'un fichier gzipp<70> (sans le d<>compresser)</td>
<td><code>bzcat2 fichier.gz</code></td>
</tr>
</table>
<h2><a name="archiv">Archiver et d<>sarchiver</a></h2>
<h3><a name="tar">Archiver/d<>sarchiver avec tar</a></h3>
<p>
Tar est un programme qui permet d'archiver et de
d<EFBFBD>sarchiver. C'est l'un des plus courants dans le monde Unix.
</p>
<h4>Synopsis de <code>tar</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Cr<43>er une archive tar</td>
<td><code>tar cf fichier.tar fichiers... <20>... archiver</code></td>
</tr>
<tr>
<td>Voir le contenu d'une archive tar</td>
<td><code>tar tf fichier.tar</code></td>
</tr>
<tr>
<td>D<>sarchiver un fichier tar</td>
<td><code>tar xf fichier.tar</code></td>
</tr>
<tr>
<td>Extraire certains fichiers d'une archive tar</td>
<td><code>tar xf fichier.tar les... fichiers... en... question</code></td>
</tr>
</table>
<h4>Utiliser <code>tar</code> avec <code>gzip</code></h4>
<p>
<code>tar</code> est souvent utilis<69> avec <code>gzip</code>. Les
fichiers ainsi produits ont des extensions en .tar.gz ou ou .tgz. Pour
les manipuler, on utilise les m<>mes commandes que <code>tar</code> seul,
en ajoutant un z <20> la fin des options (exemple<6C>: pour d<>sarchiver
fichier.tgz, taper<65>: <code>tar xfz fichier.tgz</code>).
</p>
<h3><a name="zip">Archiver/d<>sarchiver avec zip</a></h3>
<p>
Zip est un outil <strong>de compression et d'archivage</strong>
(extension<6F>: .zip) que vous connaissez presque forc<72>ment. Il est
compatible avec ZIP de PKWARE et avec WINZIP, qui sont le standard sous
DOS/Windows (mais pour autant ce n'est pas un clone). C'est le format de
compression le plus pratique pour <20>changer des documents de UNIX <20>
Windows ou Mac (le format de document le plus pratique <20>tant PDF, on
vous le rappelle).
</p>
<p>
<strong>Remarque</strong>&nbsp;: zip n'est pas seulement un programme
d'archivage, car il permet d'<27>conomiser de l'espace disque en
compressant les fichiers&nbsp;; et ce n'est pas seulement un programme
de compression, car il rassemble plusieurs fichiers en un seul. Son
<EFBFBD>quivalent dans le monde Unix n'est donc ni <code>gzip</code> ni
<code>tar</code>, mais le format <code>tar.gz</code> ou <code>tgz</code>
(c'est-<2D>-dire une archive <code>tar</code> compress<73>e avec
<code>gzip</code>).
</p>
<h4>Synopsis de <code>zip</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Cr<43>er une archive ZIP</td>
<td><code>zip fichier.zip fichiers... <20>... archiver</code></td>
</tr>
<tr>
<td>Voir le contenu d'une archive ZIP</td>
<td><code>unzip -l fichier.zip</code></td>
</tr>
<tr>
<td>D<>sarchiver un fichier ZIP</td>
<td><code>unzip fichier.zip</code></td>
</tr>
<tr>
<td>D<>sarchiver un fichier ZIP dans un r<>pertoire donn<6E></td>
<td><code>unzip -d r<>pertoire fichier.zip</code></td>
</tr>
<tr>
<td>Extraire tous les fichiers d'une archive ZIP, sauf certains</td>
<td><code>unzip fichier.zip -x fichiers... <20>... ne... pas... extraire</code></td>
</tr>
</table>
<h3><a name="jar">Archiver/d<>sarchiver avec JAR</a></h3>
<p>
Le format JAR (pour Java ARchive) a <20>t<EFBFBD> introduit dans la version 1.1 du
Java Development Kit. C'est un format fond<6E> sur ZIP. Les archives JAR
ont une extension .jar. Mozilla, par exemple, utilise des archives JAR.
</p>
<h4>Synopsis de <code>jar</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Cr<43>er une archive JAR</td>
<td><code>jar cf fichier.jar fichiers... <20>... archiver</code></td>
</tr>
<tr>
<td>Voir le contenu d'une archive JAR</td>
<td><code>jar tf fichier.jar</code></td>
</tr>
<tr>
<td>D<>sarchiver un fichier JAR</td>
<td><code>jar xf fichier.jar</code></td>
</tr>
<tr>
<td>Extraire certains fichiers d'une archive JAR</td>
<td><code>jar xf fichier.jar les... fichiers... en... question</code></td>
</tr>
</table>
<h3><a name="unarj">D<>sarchiver avec UNARJ</a></h3>
<p> UNARJ sert <20> d<>sarchiver les fichier en .arj.</p>
<p> Le format .arj <20>tait tr<74>s utilis<69> sous DOS. Il n'est plus tr<74>s
utilis<EFBFBD> aujourd'hui, ni dans le monde Unix (qui pr<70>f<EFBFBD>re
<code>gzip</code>), ni dans le monde Windows (qui pr<70>f<EFBFBD>re
<code>zip</code>). Il est donc fortement d<>conseill<6C> d'utiliser ce
format pour compresser des fichiers.
</p>
<h4>Synopsis de <code>arj</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>D<>sarchiver un fichier ARJ dans le fichier courant</td>
<td><code>unarj e fichier.arj</code></td>
</tr>
<tr>
<td>Voir le contenu d'une archive ARJ</td>
<td><code>unarj l fichier.arj</code></td>
</tr>
<tr>
<td>Tester un fichier ARJ</td>
<td><code>unarj t fichier.arj</code></td>
</tr>
<tr>
<td>D<>sarchiver dans les r<>pertoires pr<70>vus par l'archive ARJ</td>
<td><code>unarj x fichier.arj</code></td>
</tr>
</table>
<h3><a name="lha">Archiver/d<>sarchiver avec LHa</a></h3>
<p>
LHa est un outil de compression et d'archivage pour le format LHarc
(extension<6F>: .lhz). LHa est principalement utilis<69>e sous DOS. C'est un
outil puissant.
</p>
<h4>Synopsis de <code>LHa</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Cr<43>er une archive LHa</td>
<td><code>lha -a fichier.lhz fichiers... <20>... archiver</code></td>
</tr>
<tr>
<td>D<>sarchiver un fichier LHa</td>
<td><code>lha -e fichier.lhz <em>ou</em> lha x fichier.lhz</code></td>
</tr>
<tr>
<td>Voir le contenu d'une archive LHa</td>
<td><code>lha -l fichier.lhz</code></td>
</tr>
</table>
<h3><a name="zoo">Archiver/d<>sarchiver avec ZOO</a></h3>
<p>
ZOO est un outil de compression et d'archivage (extension<6F>: .zoo) qui
utilise un algorithme de Lempel-Ziv. Le gain d'espace varie entre 20
et 80%.
</p>
<h4>Synopsis de <code>ZOO</code></h4>
<table class="tableau">
<tr>
<th>Op<4F>ration</th>
<th>Commande</th>
</tr>
<tr>
<td>Cr<43>er une archive ZOO</td>
<td><code>zoo -add fichier.zoo fichiers... <20>... archiver</code></td>
</tr>
<tr>
<td>D<>sarchiver un fichier ZOO</td>
<td><code>zoo -extract fichier.zoo</code></td>
</tr>
<tr>
<td>Extraire certains fichiers d'une archive ZOO</td>
<td><code>zoo -extract fichier.zoo fichiers... <20>... extraire</code></td>
</tr>
<tr>
<td>Voir le contenu d'une archive ZOO</td>
<td><code>zoo -list fichier.zoo</code></td>
</tr>
</table>
<div class="metainformation">
Auteur<75>: <20>milia Robin, Marie-Lan Nguyen, Baptiste M<>l<EFBFBD>s.
Derni<6E>re modification le <date value="$Date: 2005-05-29 09:05:54 $" />.
</div>
</body>
</html>