tuteurs.ens.fr/unix/archives.tml

446 lines
13 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>
<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>
<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 gqzip, mais plus puissant. Il est libre et fond<6E> sur un algorithme
libre, lui aussi.
</p>
<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>
<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>
<p>
<strong><3E> noter</strong><3E>: <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 de compression et d'archivage (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>
<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>
<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. Le format .arj <20>tait
tr<EFBFBD>s utilis<69> sous DOS.
</p>
<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>
<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>
<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>
<h2><a name="du">du</a></h2>
<p>
<strong><code><a name="du">du</a></code></strong> (<em> disk
usage</em>) <20>: indique la taille de tous les r<>pertoires et
sous-r<>pertoires que vous avez chez vous.
</p>
<p>
Sur certains syst<73>mes, il peut <20>tre utile d'ajouter l'option
<code>-k</code> (<em>kilobytes</em>), pour <20>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<6E>e dans le <a
href="repertoires.html#arbre">cours sur les r<>pertoires</a>)<29>:
</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<6E>re ligne d<>signe <20>le r<>pertoire
courant<EFBFBD>, comme <code>..</code> (point point) d<>signe <20>le r<>pertoire
p<EFBFBD>re<EFBFBD>. 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<6E>es chez lui.
</p>
<p>
<code>du -s</code>permet de n'afficher que la derni<6E>re ligne,
c'est-<2D>-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<EFBFBD>sents sur votre compte.
</p>
<h2>df</h2>
<p>
<strong><code><a name="df">df</a></code></strong> (<em> disk
free</em>)<29>: indique la place disponible sur les partitions
mont<EFBFBD>es.
</p>
<p>
Comme pour <code>du</code>, sur certains syst<73>mes il faut ajouter
l'option <code>-k</code> (<em>kilobytes</em>), pour <20>tre s<>r que le
r<EFBFBD>sultat sera en Ko et non en blocs.
</p>
<div class="encadre">
<p>
L'explication compl<70>te de <code>df</code> fait appel <20> des notions
d<EFBFBD>licates sur la fa<66>on dont les fichiers sont organis<69>s, d'autant que
nous sommes en r<>seau (par NFS). On n'entrera donc pas dans les
d<EFBFBD>tails dans ce topo. Dans un premier temps, remplacez le mot
<EFBFBD><EFBFBD>partition<EFBFBD><EFBFBD> par <20><>disque (dur)<29><> et <20>a suffira largement. Si vous <20>tes
curieux, vous pouvez aller lire
<a href="&url.tuteurs;docs/hublot/hublot06/hublot6.html#concept">Concept<70>: place-disque</a>
(article du num<75>ro<72>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<73>me de fichiers, sa
taille, la place utilis<69>e, la place libre, la proportion d'espace
utilis<EFBFBD>, et le point de montage. Ici, nous donnons un exemple
(presque) complet, mais vous pouvez aussi taper
<EFBFBD><code>df<64>.</code><3E> 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<70>ter ces informations</strong><3E>: chaque
promotion a une partition, ce qui vous permet de rep<65>rer facilement la
votre. Le pourcentage donne le taux de remplissage. Ce jour-l<>, <20> peu
pr<EFBFBD>s 100% de la place laiss<73>e <20> 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<6D>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<62>me est signal<61> dans forum (g<>n<EFBFBD>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 <20>lectronique (stock<63> dans
<code>/var/mail</code>)<29>: le jour o<> il n'y a plus de place, les
courriers n'arrivent plus <20> l'<27>cole (pas de place pour les mettre),
que ce soit de l'ext<78>rieur ou de fa<66>on interne <20> l'<27>cole.
</p>
<p>
<strong>Moralit<69></strong><3E>:
</p>
<ol>
<li> Ne <strong>jamais</strong> envoyer de mails collectifs qui
n'int<6E>ressent pas 5% des gens qui l'ont re<72>u. <20> 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><3E>: 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 <20>lectronique</a>
pour savoir comment faire.
</li>
<li> <strong>Faites le m<>nage chez vous</strong><3E>: compressez ce
qui peut l'<27>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<63>ent sans
probl<EFBFBD>me<EFBFBD>: un document LaTeX de 90 pages met <20> peine plus de 10
secondes <20> se recompiler enti<74>rement. Rapellez-vous aussi que les
zoulies images ou les chouettes musiques recup<75>r<EFBFBD>es sur le Web
prennent une place <20>norme.
<br/>
Il pourra vous arriver de recevoir un mail du <20>D<EFBFBD>mon mange-disque<75>
vous signalant de gros fichiers chez vous<75>: si ces fichiers ne
sont pas indispensables ou sont facilement recr<63>ables, il faut mieux
les effacer (commande <code><a href="fichiers.html#rm">rm</a></code>).
</li>
</ol>
<div class="metainformation">
Auteur<75>: <20>milia Robin, Marie-Lan Nguyen.
Derni<6E>re modification le 2002-11-16.
</div>
</body>
</html>