445 lines
13 KiB
XML
445 lines
13 KiB
XML
<?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 > 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 > 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/email.html">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>
|