tuteurs.ens.fr/unix/archives.tml
Antoine Amarilli 4d63dfdc95 typo
2011-07-09 15:34:52 -04:00

448 lines
12 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!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 à compresser et à archiver des
fichiers sous Unix. Mais d'abord, commençons par expliquer chacune de
ces notions.
</p>
<h2>Introduction</h2>
<h3>Qu'est-ce que compresser/archiver ?</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'éviter les redondances ; par exemple, au lieu
d'écrire 1111111111111, il est plus économique d'écrire qu'il y a
treize « 1 » à la suite.</p>
<div class="attention"> <strong>Remarque terminologique</strong> :
le mot « compresser » n'existe pas en bon français, car c'est
un anglicisme conçu à partir du verbe <em>compress</em> qui signifie
comprimer. Toutefois, l'usage de ce verbe s'étant très largement
répandu, nous le suivons lâchement et tournons le dos au dictionnaire de
l'Acadé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és, et archiver des fichiers
compressés.
</p>
<p>
Dans les deux cas, le fichier est d'abord <em>codé</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 ?</h3>
<p>
Compresser permet d'économiser de l'espace disque ; associée à
l'archivage, la compression se révèle très utile. En particulier, à
l'ENS, les ressources en espace disque ne sont pas illimitées ;
consultez la <a href="place_disque.html">page des tuteurs consacrée à
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 :
.gz) qui a plus ou moins remplacé <code>compress</code> : il est
plus puissant que <code>compress</code>, et il est fondé, lui, sur des
algorithmes libres. <code>Gunzip</code> peut décompresser des fichiers
compressé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é des formats de compression, quand bien même il n'est pas le plus
puissant.
</p>
<h4>Lire des fichiers compressés avec <code>gzip</code></h4>
<p>
La grande majorité des programmes est incapable de lire directement des
fichiers compressés avec <code>gzip</code> : il faut préalablement
les décompresser. Il y a cependant des exceptions notables : </p>
<ul>
<li> la commande <strong><code>zcat</code></strong> équivaut à la
commande <code>cat</code>, mais pour des fichiers compressés avec
<code>gzip</code> ;</li>
<li> la commande <strong><code>less</code></strong> détecte et
décompresse automatiquement les fichiers compressés avec
<code>gzip</code> (ce qui n'est pas le cas de la commande
<code>more</code>) ;</li>
<li> la commande <strong><code>gv</code></strong> (Ghostview) décode
automatiquement les fichiers compressés avec <code>gzip</code> ;
vous pouvez donc sans problème compresser vos fichiers PostScript ou
PDF, car vous pourrez les lire sans avoir à les décompresser
préalablement.</li>
</ul>
<h4>Synopsis de <code>gzip</code></h4>
<table class="tableau">
<tr>
<th>Opération</th>
<th>Commande</th>
</tr>
<tr>
<td>Compresser un fichier</td>
<td><code>gzip fichier</code></td>
</tr>
<tr>
<td>Compression optimisé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é</td>
<td><code>gunzip fichier.gz</code></td>
</tr>
<tr>
<td>Lire le contenu d'un fichier gzippé (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 : .bz2) qui est plus lent
que gzip, mais plus puissant. Il est libre et fondé sur un algorithme
libre, lui aussi.
</p>
<h4>Lire des fichiers compressés avec <code>bzip2</code></h4>
<p>
Comme pour <code>gzip</code>, la grande majorité des programmes est
incapable de lire directement des fichiers compressés avec
<code>bzip2</code>, à quelques exceptions près :</p>
<ul>
<li> la commande <strong><code>bzcat2</code></strong> équivaut à la
commande <code>cat</code>, mais pour des fichiers compressés avec
<code>bzip2</code> ;</li>
<li> la commande <strong><code>less</code></strong> détecte et
décompresse automatiquement les fichiers compressés avec
<code>bzip2</code> (ce qui n'est pas le cas de la commande
<code>more</code>) ;</li>
<li> la commande <strong><code>gv</code></strong> (Ghostview) décode
automatiquement les fichiers compressés avec <code>bzip2</code> ;
vous pouvez donc sans problème compresser vos fichiers PostScript ou
PDF, car vous pourrez les lire sans avoir à les décompresser
préalablement. </li>
</ul>
<h4>Synopsis de <code>bzip2</code></h4>
<table class="tableau">
<tr>
<th>Opération</th>
<th>Commande</th>
</tr>
<tr>
<td>Compresser un fichier</td>
<td><code>bzip2 fichier</code></td>
</tr>
<tr>
<td>Compression optimisé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é</td>
<td><code>bunzip2 fichier.gz</code></td>
</tr>
<tr>
<td>Lire le contenu d'un fichier gzippé (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é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ération</th>
<th>Commande</th>
</tr>
<tr>
<td>Créer une archive tar</td>
<td><code>tar cf fichier.tar fichiers... à... 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é 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 à la fin des options (exemple : pour désarchiver
fichier.tgz, taper : <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 : .zip) que vous connaissez presque forcé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 échanger des documents de UNIX à
Windows ou Mac (le format de document le plus pratique étant PDF, on
vous le rappelle).
</p>
<p>
<strong>Remarque</strong> : zip n'est pas seulement un programme
d'archivage, car il permet d'économiser de l'espace disque en
compressant les fichiers ; et ce n'est pas seulement un programme
de compression, car il rassemble plusieurs fichiers en un seul. Son
é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-à-dire une archive <code>tar</code> compressée avec
<code>gzip</code>).
</p>
<h4>Synopsis de <code>zip</code></h4>
<table class="tableau">
<tr>
<th>Opération</th>
<th>Commande</th>
</tr>
<tr>
<td>Créer une archive ZIP</td>
<td><code>zip fichier.zip fichiers... à... 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é</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... à... 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 été introduit dans la version 1.1 du
Java Development Kit. C'est un format fondé 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ération</th>
<th>Commande</th>
</tr>
<tr>
<td>Créer une archive JAR</td>
<td><code>jar cf fichier.jar fichiers... à... 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 à désarchiver les fichier en .arj.</p>
<p> Le format .arj était très utilisé sous DOS. Il n'est plus très
utilisé aujourd'hui, ni dans le monde Unix (qui préfère
<code>gzip</code>), ni dans le monde Windows (qui préfère
<code>zip</code>). Il est donc fortement déconseillé d'utiliser ce
format pour compresser des fichiers.
</p>
<h4>Synopsis de <code>arj</code></h4>
<table class="tableau">
<tr>
<th>Opé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é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 : .lhz). LHa est principalement utilisé sous DOS. C'est un
outil puissant.
</p>
<h4>Synopsis de <code>LHa</code></h4>
<table class="tableau">
<tr>
<th>Opération</th>
<th>Commande</th>
</tr>
<tr>
<td>Créer une archive LHa</td>
<td><code>lha -a fichier.lhz fichiers... à... 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 : .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ération</th>
<th>Commande</th>
</tr>
<tr>
<td>Créer une archive ZOO</td>
<td><code>zoo -add fichier.zoo fichiers... à... 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... à... 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 : Émilia Robin, Marie-Lan Nguyen, Baptiste Mélès.
<date value="from git" />
</div>
</body>
</html>