VII. Compression

Par Hugo ETIEVANT


  1. Archiver
    1. Le programme archiveur (tar)
    2. Cr�er une archive
    3. Extraire les fichiers d'une archive
    4. Archive et compression automatique
    5. Contenu d'une archive
  2. Compresser
    1. Le compresseur compress
      1. Compression
      2. D�compression
    2. Le compresseur gzip et le d�compresseur gunzip

Archiver

Archiver des fichiers consiste en les r�unir en un seul autre fichier. Ce dernier n'est pas compress� c'est-�-dire que sa taille est �gale la somme ce celle des fichiers qu'il regroupe.

Le programme archiveur tar

Pour archiver des fichiers, on utilise le programme tar. Dont les principales options sont :
- c (Create) pour cr�er une archive
- x (eXtract) pour extraire les fichiers d'une archive
- t (lisT) pour afficher la liste des fichiers d'une archive
- v (Verbose) pour le mode verbeux
- f (Force) pour forcer le remplacement de fichiers
- z (gZip) traite les fichiers avec gzip (compression apr�s archivage, d�compression avant extraction et d�compression temporaire pour afficher la liste des fichiers). Cr�er une archive

Syntaxe : tar cvf fichier.tar motif

Exemple : tar cvf tpc.tar *.c

Dans l'exemple pr�c�dent, on cr�e une archive qui porte le nom tpc.tar qui contient tous les fichiers d'extention .c du r�pertoire courant.

Le motif est une expression r�guli�re du Shell qui peut donc contenir des m�tacaract�res.

Les fichiers archives doivent porter l'extention .tar.

Extraire les fichiers d'une archive

(Apr�s avoir cr�� une archive) On remplace l'option c (create) par x (extract) pour extraire tous les fichiers d'une archive.

Syntaxe : tar xvf fichier.tar

Exemple : tar xvf tpc.tar

On peut n'extraire de l'archive que les fichiers satisfaisant un motif (encore une expression r�guli�re).

Syntaxe : tar xvf fichier.tar motif

Exemple : tar xvf tpc.tar poly*

Dans l'exemple pr�c�dent, on extrait de l'archive tpc.tar seulement les fichiers dont le nom commence par poly.

Archive et compression automatique

Pour compresser automatiquement le fichier archive pendant sa cr�ation, on utilise l'option z (gzip).

Syntaxe : tar zcvf fichier.tar.gz motif

Exemple : tar zcvf tpc.tar.gz *.c

Et de fa�on similaire, pour d�compresser une archive et en extraire les fichiers :

Syntaxe : tar zxvf fichier.tar.gz

Exemple : tar zxvf tpc.tar.gz

Les options v et f sont facultatives, on aurait plus �crire :
- tar c fichier.tar motif pour archiver
- tar x fichier.tar pour d�-archiver
- tar cz fichier.tar.gz motif pour archiver et compresser
- tar xz fichier.tar.gz pour d�compresser et extraire.

L'ordre des options n'a pas d'importance, en revenche, celui de fichier et motif en a.

Les fichiers compress�s avec gzip ont .gz pour extention.

Contenu d'une archive

Pour visualiser la liste des noms des fichiers contenus dans une archive, on utilise l'option t.

Syntaxe : tar t fichier.tar

Exemple : tar t tpc.tar

Si le fichier est compress� avec gzip, on rajoute l'option z.

Syntaxe : tar zt fichier.tar.gz

Exemple : tar zt tpc.tar.gz


Compresser

Le but de la compression est de r�duire la taille des donn�es en utilisant un algorithme. Un fichier compress� n'est plus utilisable telquel � moins de le d�compresser. Les programmes de compression suivants remplacent le fichier sp�cifi� en param�tre par un autre d'extention caract�ristique du programme.

Le but du jeu est de compresser une archive .tar afin d'avoir une seule archive compress�e correspondant � une multitude de fichiers originaux (au lieu d'avoir une archive compress�e pour chaque fichier originaux).

Le compresseur compress

Compression

Le programme compress compresse un ou des fichiers en lui rajoutant l'extention Z. Ces options sont :
- c (Cat) pour �crire sur la sortie standart sans changer les fichiers
- f (Force) pour forcer l'op�ration sans demander de confirmation
- r (Recurse) pour d�compresser le contenu de r�pertoires, c'est-�-dire remplacer tout fichier compress� par le fichier original correspondant de mani�re � ne pas avoir dans une archive d'autres archives qu'il faudrait encore d�compresser
- v (Verbose) pour afficher le taux de compression des fichiers.

Syntaxe : compress fichier

Exemple : compress lettre.txt

L'exemple pr�c�dent remplace le fichier lettre.txt par le fichier lettre.txt.Z de plus faible taille. De plus, il affiche le taux de compression du ou des fichiers et force le remplacement des archives d�j� existantes.

Exemple : compress -vf *.doc

Cet exemple compresse tous les fichiers d'extention .doc en affichant leur taux de compression respectifs et force l'�crasement d'�ventuels anciennes archives de m�mes noms.

Exemple : compress tpc.tar

Cet exemple compresse le fichier archive tpc.tar et le remplace par tpc.tar.Z.

D�compression

Le programme uncompress d�compresse un fichier en lui supprimant l'extention Z. Ces options sont :
- c (Cat) pour �crire sur la sortie standard (sans changer les fichiers)
- f (Force) pour forcer l'op�ration sans demander de confirmation
- l (List) pour afficher des informations sur les fichiers compress�s.

Syntaxe : uncompress fichier.Z

Exemple : compress tpc.tar.Z

L'exemple pr�c�dent remplace le fichier tpc.tar.Z par le fichier original tpc.tar.

Le compresseur gzip et le d�compresseur gunzip

Le programme gzip, plus performant que le pr�c�dant, compresse un ou plusieurs fichier(s) en lui rajoutant l'extention par d�faut .gz.

Ces options sont :
- c (stdout) pour afficher le r�sultat de la compression sur la sortie standart sans modifier les fichiers originaux
- d (decompress) pour decompress le(s) fichier(s)
- f (force) pour forcer l'�crasement sans demander confirmation
- h (help) pour obtenir l'aide
- l (list) pour afficher des informations sur les fichiers
- L (license) pour afficher la licence d'utilisation du programme
- q (quiet) pour ne afficher les messages d'erreurs �ventuels
- r (recursive) pour op�rer sur les fichiers des sous-r�peroires
- S .xxx (suffix) pour modifier en .xxx l'extention des fichiers compress�s
- t (test) pour tester l'int�grit� des fichiers compress�s
- v (verbose) pour activer le mode verbeux
- V (version) pour afficher la version du programme
- [1-9] (fast) nombre entre 1 et 9 pour choisir le taux de compression (1:faible, 9:maximum).

Syntaxe : gzip fichier

Exemple : gzip tpc.tar

L'exemple pr�c�dent compresse le fichier tpc.tar en tpc.tar.gz.

Syntaxe : gzip -d fichier.gz

Exemple : gzip -d tpc.tar.gz

L'exemple pr�c�dent d�compresse le fichier tpc.tar.gz en tpc.tar.

Syntaxe : gunzip fichier.gz

Exemple : gunzip tpc.tar.gz

L'exemple pr�c�dent d�compresse le fichier tpc.tar.gz en tpc.tar.

Le programme gunzip poss�de les m�mes options que gzip.

Exemple : gzip -9rvf *.tar

L'exemple pr�s�dent compresse tous les fichiers *.tar du r�pertoire courant et de ses sous-r�peroires (r) en degr� de compression maximal (9). Il affiche aussi la liste des fichiers trait�s (v) et remplace automatiquemnt les fichiers *.tar.gz si jamais ils existaient d�j� (f).