Archiver et compresser sous Unix


Compresser et dÈcompresser

Gzip et gunzip

Gzip (GNU zip) est un outil de compression (extension : .gz) qui a plus ou moins remplacÈ compress : il est plus puissant que compress, et il est fondÈ, lui, sur des algorithmes libres. Gunzip peut dÈcompresser des fichiers compressÈs par gzip, compress ou pack. En revanche, il ne peut pas dÈcompresser des fichiers .zip (il faut utiliser unzip).

OpÈrationCommande
Compresser un fichier gzip fichier
Compression optimisÈe d'un fichier (pour fichiers > 100 Ko) gzip -9 fichier
DÈcompresser un fichier gzippÈ gunzip fichier.gz
Lire le contenu d'un fichier gzippÈ (sans le dÈcompresser) zcat fichier.gz

Bzip2 et bunzip2

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.

OpÈrationCommande
Compresser un fichier bzip2 fichier
Compression optimisÈe d'un fichier (pour fichiers > 100 Ko) bzip2 -9 fichier
DÈcompresser un fichier gzippÈ bunzip2 fichier.gz
Lire le contenu d'un fichier gzippÈ (sans le dÈcompresser) bzcat2 fichier.gz

---------------------

Archiver et dÈsarchiver

Archiver/dÈsarchiver avec tar

Tar est un programme GNU qui permet d'archiver et de dÈsarchiver. C'est l'un des plus courants dans le monde UNIX.

OpÈrationCommande
CrÈer une archive tar tar cf fichier.tar fichiers... ý... archiver
Voir le contenu d'une archive tar tar tf fichier.tar
DÈsarchiver un fichier tar tar xf fichier.tar
Extraire certains fichiers d'une archive tar tar xf fichier.jar les... fichiers... en... question

¿ noter : tar est souvent utilisÈ avec gzip. Les fichiers ainsi produits ont des extensions en .tar.gz ou ou .tgz. Pour les manipuler, on utilise les mÍmes commandes que tar seul, en ajoutant un z ý la fin des options (exemple : pour dÈsarchiver fichier.tgz, taper : tar xfz fichier.tgz).

Archiver/dÈsarchiver avec zip

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).

OpÈrationCommande
CrÈer une archive ZIP zip fichier.zip fichiers... ý... archiver
Voir le contenu d'une archive ZIP unzip -l fichier.zip
DÈsarchiver un fichier ZIP unzip fichier.zip
DÈsarchiver un fichier ZIP dans un rÈpertoire donnÈ unzip -d rÈpertoire fichier.zip
Extraire tous les fichiers d'une archive ZIP, sauf certains unzip fichier.zip -x fichiers... ý... ne... pas... extraire

Archiver/dÈsarchiver avec JAR

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.

OpÈrationCommande
CrÈer une archive JAR jar cf fichier.jar fichiers... ý... archiver
Voir le contenu d'une archive JAR jar tf fichier.jar
DÈsarchiver un fichier JAR jar xf fichier.jar
Extraire certains fichiers d'une archive JAR jar xf fichier.jar les... fichiers... en... question

DÈsarchiver avec UNARJ

UNARJ sert ý dÈsarchiver les fichier en .arj. Le format .arj Ètait trËs utilisÈ sous DOS.

OpÈrationCommande
DÈsarchiver un fichier ARJ dans le fichier courant unarj e fichier.arj
Voir le contenu d'une archive ARJ unarj l fichier.arj
Tester un fichier ARJ unarj t fichier.arj
DÈsarchiver dans les rÈpertoires prÈvus par l'archive ARJ unarj x fichier.arj

Archiver/dÈsarchiver avec LHa

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.

OpÈrationCommande
CrÈer une archive LHa lha -a fichier.lhz fichiers... ý... archiver
DÈsarchiver un fichier LHa lha -e fichier.lhz ou lha x fichier.lhz
Voir le contenu d'une archive LHa lha -l fichier.lhz

Archiver/dÈsarchiver avec ZOO

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%.

OpÈrationCommande
CrÈer une archive ZOO zoo -add fichier.zoo fichiers... ý... archiver
DÈsarchiver un fichier ZOO zoo -extract fichier.zoo
Extraire certains fichiers d'une archive ZOO zoo -extract fichier.zoo fichiers... ý... extraire
Voir le contenu d'une archive ZOO zoo -list fichier.zoo

---------------------

du

Statistiques du ( disk usage)  : indique la taille de tous les rÈpertoires et sous-rÈpertoires que vous avez chez vous.

Sur certains systËmes, il peut Ítre utile d'ajouter l'option -k (kilobytes), pour Ítre sšr que le rÈsultat sera en Ko et non en blocs.

Par exemple, voici le compte de Toto (arborescence donnÈe dans le cours sur les rÈpertoires) :

64  ./geo 
78  ./histoire/medievale 
56  ./histoire/moderne/Bourbons 
384 ./histoire/moderne/documents 
440 ./histoire/moderne 
518 ./histoire 
582 .

Le . (point) de la derniËre ligne dÈsigne ´le rÈpertoire courantª, comme .. (point point) dÈsigne ´le rÈpertoire pËreª. Ici, le rÈpertoire courant c'est le home-directory : Toto a 582 kilo-octets (un demi-mÈga octet) de donnÈes chez lui.

du -spermet 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.

---------------------

df

Graphique df ( disk free) : indique la place disponible sur les partitions montÈes.

Comme pour du, sur certains systËmes il faut ajouter l'option -k (kilobytes), pour Ítre sšr que le rÈsultat sera en Ko et non en blocs.

[difficile] L'explication complËte de df 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 Concept : place-disque (article du numÈro 6 du Hublot, avril 2000).
df 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 ´df .ª pour n'afficher que les informations concernant votre promotion.

corvette- ~ $ 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

Comment interprÈter ces informations : 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...).

Le jour o˜ /users/94 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 syst, deprime, delation ou raleurs).

La mÍme chose arrive avec le courrier Èlectronique (stockÈ dans /var/mail) : 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.

ATTENTION MoralitÈ :

  1. Ne jamais envoyer de mails collectifs qui n'intÈressent pas 5% des gens qui l'ont reÁu. ¿ la place, mettez un message dans forum (contis annonces, seminaires...).

  2. Rangez votre courrier : la mail-box courante ne devrait pas contenir plus de 40 ou 50 mails en attente, le reste se range dans des folders (chemises). Consultez les cours sur le courrier Èlectronique pour savoir comment faire.

  3. Faites le mÈnage chez vous : compressez ce qui peut l'Ítre, ne conservez pas (quand ils sont inutiles) des fichiers .dvi, .aux, .log, .toc, .ps 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.

    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 rm).