tuteurs.ens.fr/unix/archives.tml
2002-12-15 21:40:28 +00:00

445 lines
13 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="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>
<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>
<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 gqzip, mais plus puissant. Il est libre et fondé sur un algorithme
libre, lui aussi.
</p>
<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>
<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>
<p>
<strong>À noter</strong> : <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 de compression et d'archivage (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>
<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>
<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. Le format .arj était
très utilisé sous DOS.
</p>
<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ée sous DOS. C'est un
outil puissant.
</p>
<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>
<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>
<h2><a name="du">du</a></h2>
<p>
<strong><code><a name="du">du</a></code></strong> (<em> disk
usage</em>)  : indique la taille de tous les répertoires et
sous-répertoires que vous avez chez vous.
</p>
<p>
Sur certains systèmes, il peut être utile d'ajouter l'option
<code>-k</code> (<em>kilobytes</em>), pour être sûr que le résultat
sera en Ko et non en blocs.
</p>
<p>
Par exemple, voici le compte de Toto (arborescence donnée dans le <a
href="repertoires.html#arbre">cours sur les répertoires</a>) :
</p>
<pre>
64 ./geo
78 ./histoire/medievale
56 ./histoire/moderne/Bourbons
384 ./histoire/moderne/documents
440 ./histoire/moderne
518 ./histoire
582 .</pre>
<p>
Le <code>.</code> (point) de la dernière ligne désigne «le répertoire
courant», comme <code>..</code> (point point) désigne «le répertoire
père». Ici, le répertoire courant c'est le
<em>home-director</em>y : Toto a 582 kilo-octets (un demi-méga
octet) de données chez lui.
</p>
<p>
<code>du -s</code>permet de n'afficher que la dernière ligne,
c'est-à-dire le total de tous les répertoire et sous-répertoires, sans
tous les détails.permet de n'afficher que le total des fichiers
présents sur votre compte.
</p>
<h2>df</h2>
<p>
<strong><code><a name="df">df</a></code></strong> (<em> disk
free</em>) : indique la place disponible sur les partitions
montées.
</p>
<p>
Comme pour <code>du</code>, sur certains systèmes il faut ajouter
l'option <code>-k</code> (<em>kilobytes</em>), pour être sûr que le
résultat sera en Ko et non en blocs.
</p>
<div class="encadre">
<p>
L'explication complète de <code>df</code> fait appel à des notions
délicates sur la façon dont les fichiers sont organisés, d'autant que
nous sommes en réseau (par NFS). On n'entrera donc pas dans les
détails dans ce topo. Dans un premier temps, remplacez le mot
« partition » par « disque (dur) » et ça suffira largement. Si vous êtes
curieux, vous pouvez aller lire
<a href="&url.tuteurs;docs/hublot/hublot06.html#concept">Concept : place-disque</a>
(article du numéro 6 du <em>Hublot</em>, avril 2000).
</p>
</div>
<p>
<code>df</code> affiche un tableau, avec une ligne par point de
montage. Les colonnes sont respectivement le système de fichiers, sa
taille, la place utilisée, la place libre, la proportion d'espace
utilisé, et le point de montage. Ici, nous donnons un exemple
(presque) complet, mais vous pouvez aussi taper
«<code>df .</code>» pour n'afficher que les informations
concernant votre promotion.
</p>
<pre>
<span class="prompt">corvette ~ $</span> df
Filesystem kbytes used avail capacity Mounted on
(...)
clipper:/users/91 2569479 1941899 576191 78% /users/91
clipper:/users/92 2569479 1941899 576191 78% /users/92
clipper:/users/94 2010959 1949327 1304 100% /users/94
clipper:/users/95 4352742 2769111 1540104 65% /users/95
clipper:/users/93 2056211 1532892 461633 77% /users/93
clipper:/users/96 4351726 3752924 555285 88% /users/96
clipper:/users/97 4352742 4105366 203849 96% /users/97
clipper:/users/98 4352742 3796656 512559 89% /users/98
clipper:/users/99 4351726 4232088 76121 99% /users/99
(...)
clipper:/var/mail 3595709 1559061 2000691 44% /var/mail
</pre>
<p>
<strong>Comment interpréter ces informations</strong> : chaque
promotion a une partition, ce qui vous permet de repérer facilement la
votre. Le pourcentage donne le taux de remplissage. Ce jour-là, à peu
près 100% de la place laissée à la promotion 1994 est prise (il reste
un peu plus d'un méga-octet, soit quelques grosses images, une minute
de musique, ou cinq maîtrises...).
</p>
<p>
Le jour où <code>/users/94</code> est plein, la promotion 1994, toutes
disciplines confondues, ne peut plus rien faire (pas de place pour
enregistrer des modifications, de nouveaux fichiers, etc). Quand cela
arrive, le problème est signalé dans forum (généralement dans les
contis <code>syst</code>, <code>deprime</code>, <code>delation</code>
ou <code>raleurs</code>).
</p>
<p>
La même chose arrive avec le courrier électronique (stocké dans
<code>/var/mail</code>) : le jour où il n'y a plus de place, les
courriers n'arrivent plus à l'École (pas de place pour les mettre),
que ce soit de l'extérieur ou de façon interne à l'École.
</p>
<p>
<strong>Moralité</strong> :
</p>
<ol>
<li> Ne <strong>jamais</strong> envoyer de mails collectifs qui
n'intéressent pas 5% des gens qui l'ont reçu. À la place, mettez un
message dans <a href="&url.tuteurs;internet/forum.html">forum</a>
(contis <code>annonces</code>, <code>seminaires</code>...).
</li>
<li> <strong>Rangez votre courrier</strong> : la mail-box
courante ne devrait pas contenir plus de 40 ou 50 mails en attente, le
reste se range dans des <em>folders</em> (chemises). Consultez les
cours sur le <a href="&url.tuteurs;internet/courrier/">courrier électronique</a>
pour savoir comment faire.
</li>
<li> <strong>Faites le ménage chez vous</strong> : compressez ce
qui peut l'être, ne conservez pas (quand ils sont inutiles) des
fichiers <code>.dvi</code>, <code>.aux</code>, <code>.log</code>,
<code>.toc</code>, <code>.ps</code> qui se recréent sans
problème : un document LaTeX de 90 pages met à peine plus de 10
secondes à se recompiler entièrement. Rapellez-vous aussi que les
zoulies images ou les chouettes musiques recupérées sur le Web
prennent une place énorme.
<br/>
Il pourra vous arriver de recevoir un mail du «Démon mange-disque»
vous signalant de gros fichiers chez vous : si ces fichiers ne
sont pas indispensables ou sont facilement recréables, il faut mieux
les effacer (commande <code><a href="fichiers.html#rm">rm</a></code>).
</li>
</ol>
<div class="metainformation">
Auteur : Émilia Robin, Marie-Lan Nguyen.
Dernière modification le 2002-11-16.
</div>
</body>
</html>