Compressions : gzip, bzip2

Les commandes gzip/gunzip, bzip2/bunzip2 compressent/décompressent chaque fichier passé en argument sur la ligne de commande. La commande bzip2 possède un meilleur taux de compression. Ces commandes se trouvent en standard sur les systèmes Linux et peuvent s'installer sur les systèmes UNIX si elles ne sont pas déjà présentes. La commande gzip produit l'extension .gz et la commande bzip2 produit l'extension .bz2.

Syntaxe de gzip

Compression :
gzip [options] [fichiers ...]
Décompression :
gunzip [options] [fichiers ...]
zcat [options] [fichiers ...]
Principales options :
-c : Envoie le résultat sur la sortie standard. La commande gunzip -c est équivalente à la commande zcat.
-t : Tester la validité de l'archive.

Si le nom de fichier est omis, les données à traiter sont lues sur l'entrée standard.

Exemple

Compression du fichier mon_fichier4. L'original est remplacé par le fichier compressé.

$ ls -lh mon_fichier4
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
$ gzip mon_fichier4
$ ls -lh mon_fichier4.gz
-rw-r--r-- 1 root root 2,1M 25 mai   16:36 mon_fichier4.gz
$

Décompression. Le fichier d'origine est restitué et remplace le fichier compressé.

$ gunzip mon_fichier4.gz
$ ls -lh mon_fichier4*
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
$

Compression du fichier avec envoi du flux sur la sortie standard. Cette méthode permet de conserver le fichier d'origine.

$ gzip -c mon_fichier4 > mon_fichier4.gz
$ ls -lh mon_fichier4*
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
-rw-r--r-- 1 root root 2,1M 25 mai   16:42 mon_fichier4.gz
$

Décompressé en conservant le fichier compressé.

$ gunzip -c mon_fichier4.gz > mon_fichier5
$ ls -lh mon_fichier*
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
-rw-r--r-- 1 root root 2,1M 25 mai   16:42 mon_fichier4.gz
-rw-r--r-- 1 root root 6,6M 25 mai   16:44 mon_fichier5
$

Idem mais avec la commande zcat.

$ zcat mon_fichier4.gz > mon_fichier6
$ ls -lh mon_fichier*
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
-rw-r--r-- 1 root root 2,1M 25 mai   16:42 mon_fichier4.gz
-rw-r--r-- 1 root root 6,6M 25 mai   16:44 mon_fichier5
-rw-r--r-- 1 root root 6,6M 25 mai   16:46 mon_fichier6
$

Les commandes bzip2, bunzip2 et bzcat fonctionnent de manière similaire avec une légère différence au niveau des options.

Syntaxe de bzip2

Compression :
bzip2 [options] [fichiers ...]
Décompression :
bunzip2 [fichiers ...]
bzip2 -d
[options] [fichiers ...]
bzcat [options] [fichiers ...]
Principales options :
-c : Envoie le résultat sur la sortie standard. La commande bzip2 -dc est équivalente à la commande bzcat.
-d : Décompression
-t : Tester la validité de l'archive.

Exemple

Compression du fichier mon_fichier4. La compression avec bzip2 est meilleure qu'avec gzip.

$ ls -lh mon_fichier*
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
-rw-r--r-- 1 root root 2,1M 25 mai   16:42 mon_fichier4.gz
-rw-r--r-- 1 root root 6,6M 25 mai   16:44 mon_fichier5
-rw-r--r-- 1 root root 6,6M 25 mai   16:46 mon_fichier6
$ bzip2 -c mon_fichier4 > mon_fichier4.bz2
$ ls -lh mon_fichier*
-rw-r--r-- 1 root root 6,6M 25 mai   16:36 mon_fichier4
-rw-r--r-- 1 root root 1,2M 25 mai   16:54 mon_fichier4.bz2
-rw-r--r-- 1 root root 2,1M 25 mai   16:42 mon_fichier4.gz
-rw-r--r-- 1 root root 6,6M 25 mai   16:44 mon_fichier5
-rw-r--r-- 1 root root 6,6M 25 mai   16:46 mon_fichier6
$

Analyse des différentes compressions

$ wc -c mon_fichier4
6903921 mon_fichier4
$ wc -m mon_fichier4
6903921 mon_fichier4
$ ls -l mon_fichier*
-rw-r--r-- 1 root root 6903921 25 mai   16:36 mon_fichier4
-rw-r--r-- 1 root root 1207370 25 mai   16:54 mon_fichier4.bz2
-rw-r--r-- 1 root root 2129319 25 mai   16:42 mon_fichier4.gz
-rw-r--r-- 1 root root 6903921 25 mai   16:44 mon_fichier5
-rw-r--r-- 1 root root 6903921 25 mai   16:46 mon_fichier6
$

Test réalisé avec un fichier contenant uniquement des caractères.
Le fichier mon_fichier4 contient 6 903 921 caractères et par conséquent une taille de 6 903 921 octets.

Compression avec gzip : Le fichier a été réduit à une taille de 2 129 319 octets. Ce qui représente une diminution de 69,16 %

Compression avec bzip2 : Le fichier a été réduit à une taille de 1 207 370 octets. Ce qui représente une diminution de 82,51%

Etiquettes: 

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.