Options de compression de fichiers Linux et comparaison

Options de compression de fichiers Linux et comparaison
La compression, en général, est une méthode utile qui encodait essentiellement des informations en utilisant moins de données que celle d'origine. Dans le cas de Linux, il existe différentes options de compression, chacune avec ses propres avantages.

Une distribution générique Linux offre un accès à une poignée de mécanismes de compression vraiment utiles et simples. Cet article ne se concentrera que sur eux.

Types de compression

La compression est encodante et représente des informations en utilisant moins de bits qu'il ne l'était à l'origine. Dans le cas de la compression de fichiers, une méthode de compression utilise son propre algorithme et son calcul mathématique pour générer une sortie généralement inférieure à la taille du fichier d'origine. En raison du fonctionnement de la compression différente et de la nature aléatoire des fichiers, le kilométrage peut varier considérablement.

Il existe 2 types de compression.

  • La compression avec perte: Il s'agit d'un type de compression risqué qui ne garantit pas l'intégrité des données. Essentiellement, une fois compressé, il y a un risque que le fichier d'origine ne puisse pas être reconstruit à l'aide de l'archive compressée.
    Un exemple solide de ce type de compression est le format MP3 bien connu. Lorsqu'un MP3 est créé à partir du fichier audio d'origine, il est nettement plus petit que le fichier musical source d'origine. Cela provoque une perte de qualité audio.
  • Compression sans perte: C'est le type de compression le plus utilisé. À l'aide d'une méthode de compression «sans perte», le fichier d'origine peut être reconstruit à partir du fichier compressé. Les méthodes de compression dont je discuterai dans cet article sont toutes des méthodes de compression sans perte.

Compression Linux

La majorité des méthodes de compression sont disponibles à partir de l'outil le goudron. Quant à la compression «zip», nous utiliserons le zipper outil. En supposant que votre système a déjà installé ces outils, commençons.

Au début, nous avons besoin d'un fichier de test. Exécutez la commande suivante pour en créer une.

$ base64 / dev / urandom | Head -C 20000000> Fichier.SMS

Il créera un fichier texte avec une taille de 20 Mo.

Maintenant, créons 10 copies du fichier. Ensemble, c'est 200 Mo.

Zip pour compression

Le zip est assez courant. Pour créer un fichier zip, l'outil zip nécessite la structure de commande suivante.

$ zip .zipper

Pour compresser tous les fichiers sous le répertoire de test dans un seul fichier zip, exécutez cette commande.

$ Test Zip.zipper *

La taille de l'entrée était de 200 Mo. Après la compression, c'est maintenant 152 Mo!

Par défaut, l'outil zip appliquera la compression dégonflée. Cependant, il est également capable d'utiliser la compression BZIP2. Non seulement cela, vous pouvez également créer des fichiers zip protégés par mot de passe! En savoir plus sur Zip.

Tar pour la compression sur Linux

Le goudron n'est pas une méthode de compression. Au lieu de cela, il est le plus souvent utilisé pour créer des archives. Cependant, il peut implémenter un certain nombre de méthodes de compression populaires aux archives.

Pour la manipulation des archives du goudron (également connu sous le nom de «tarball»), il y a l'outil de goudron. En savoir plus sur le goudron. Généralement, l'outil TAR utilise la structure de commande suivante.

$ goudron

Pour ajouter les fichiers de test dans une seule archive TAR, exécutez la commande suivante.

Test de $ TAR -CVF.le goudron *

Ici, la taille du fichier reste la même.

Gzip pour la compression sur Linux

GNU Zip ou GZIP est une autre méthode de compression populaire qui, à mon avis, est meilleure que le zip traditionnel en raison de sa meilleure compression. C'est un produit open source créé par Mark Adler et Jean-Loup Gilly qui était à l'origine destiné à remplacer l'Unix compresse utilitaire.

Pour gérer les archives GZIP, il existe 2 outils disponibles: TAR et GZIP. Voyons les deux.

Tout d'abord, l'outil GZIP. Voici à quoi ressemble la structure de commande GZIP.

$ gzip

Par exemple, la commande suivante remplacera le test1.txt avec test1.SMS.Fichier compressé GZ.

$ gzip -v test1.SMS

Si vous souhaitez compresser un répertoire entier à l'aide de GZIP, exécutez cette commande. Ici, le drapeau «-r» est pour la compression «récursive». GZIP passera par tous les dossiers et comprimera le (s) fichier (s) individuel dans chacun d'eux.

$ gzip -r

GZIP prend en charge diverses valeurs de résistance à la compression, à partir de 1 (moins de compression, le plus rapide) à 9 (meilleure compression, le plus lent).

$ gzip -v -9

Pour un meilleur contrôle sur la sortie et la facilité d'utilisation, le goudron est meilleur pour la tâche. Exécutez la commande suivante.

$ TAR -CVZF Test.le goudron.gz *

Le résultat est similaire à Zip en utilisant Deflate, résultant en 152 Mo après compression.

BZIP2 pour la compression sur Linux

BZIP2 est un outil libre et open-source qui utilise l'algorithme Burrows-Wheeler pour la compression. Introduit pour la première fois en 1996, BZIP2 est fortement utilisé comme alternative à la compression GZIP.

Comme GZIP, il y a 2 outils pour travailler avec BZIP2: TAR et BZIP2.

L'outil BZIP2 fonctionne similaire à l'outil GZIP. Il ne peut fonctionner qu'avec un seul fichier à la fois. Voici la structure de commande.

$ bzip2

Compressons le test1.fichier txt. Ici, l'indicateur «-v» est pour le mode verbeux.

$ bzip2 -v test1.SMS

Semblable à GZIP, BZIP2 prend également en charge différents niveaux de compression, à partir de 1 (par défaut, moins d'utilisation de la mémoire) à 9 (compression extrême, utilisation élevée de la mémoire).

$ bzip2 -v -9

La meilleure façon d'utiliser la compression BZIP2 est d'utiliser le goudron. Utilisez la commande suivante.

$ TART -CVJF Test.le goudron.bz2 *

La compression est légèrement améliorée que les précédentes. Maintenant, la taille du fichier est réduit à 151.7 Mb.

XZ pour la compression sur Linux

C'est un nouveau venu relatif dans le domaine de la compression. Sorti en 2009, il a connu une croissance régulière de l'utilisation depuis lors.

L'outil de compression XZ utilise l'algorithme LZMA2 connu pour un rapport de compression plus élevé par rapport à GZIP et BZIP2, ce qui en fait un excellent choix lorsque vous souhaitez économiser la quantité maximale d'espace disque. Cependant, cela s'accompagne du coût des exigences de mémoire plus élevées et de la consommation de temps.

Le fichier créé par l'outil de compression XZ a l'extension .xz. Pour compresser un seul fichier, vous pouvez appeler directement l'outil XZ.

$ xz

Par exemple, exécutez la commande suivante pour comprimer le test1.fichier txt.

$ xz -v test1.SMS

Semblable aux autres méthodes de compression mentionnées, XZ prend également en charge diverses plages de résistance à la compression, à partir de 1 (compression la plus basse, la plus rapide) à 9 (meilleure compression, le plus lent). Si vous n'avez aucun respect pour le temps et que vous voulez juste économiser de l'espace, alors optez pour l'extrême.

$ xz -v -9

Pour créer un fichier XZ compressé à partir de tous les fichiers de test, exécutez cette commande.

$ TART -CVJF Test.le goudron.xz *

Ici, la taille du fichier de sortie est de 153.7 Mb.

Extraction des archives comprimées

Extraire les archives que nous avons créées est plus facile que de les créer. Pour extraire un fichier zip, utilisez la structure de commande suivante.

$ unzip .zip -d

Pour extraire l'archive zip que nous avons créée, exécutez cette commande. Cela extrait tout le contenu dans le même répertoire.

$ Test Unzip.zipper

Pour extraire du goudron, du goudron.gz, goudron.bz2 et goudron.XZ Archives, nous devons utiliser le le goudron outil. La commande TAR suivante est applicable pour les extraire.

$ TAR -XVF

Par exemple, extrons tous les fichiers de l'archive compressée BZ2.

Test de $ TAR -XVF.le goudron.bz2

Pour décompresser un gzip (pas le goudron.gz) fichier, exécutez cette commande.

$ gzip -d

De même, la commande suivante décompressera l'archive BZIP2.

$ bzip2 -d

La même structure de commande s'applique pour les archives XZ.

$ xz -d

Dernières pensées

J'espère que vous avez maintenant suffisamment de connaissances pour gérer les tâches de compression dans différentes circonstances. Selon l'exigence spécifique, toutes les méthodes de compression offrent des fonctionnalités très attrayantes.

Une chose importante à noter est que le résultat de la compression ne sera pas le même tout le temps. Avec une entrée de données différentes, la sortie sera différente. Par exemple, dans certains cas, XZ peut offrir un résultat de compression fou alors que dans cet exemple, il n'a pas. Il en va de même pour d'autres méthodes.

Pour en savoir plus sur ces outils, consultez leur page d'homme respectif.

$ man zip