Tous les secrets de la compression sous GNU / Linux

Tuyaux de compression

On revient au problème habituel qui devient un avantage pour beaucoup utilisateurs avancés de GNU / Linux et c'est le grand nombre d'alternatives ou de possibilités disponibles. Cela pour les plus inexpérimentés peut être un problème lorsqu'ils ne savent pas bien lequel choisir, mais comme je le dis, avoir plus de possibilités ou de flexibilité n'est jamais une mauvaise chose, bien au contraire. Dans ce cas, nous parlerons de la algorithmes et procédures de compression et de décompression qui existent sur notre plateforme préférée pour que vous puissiez les voir différemment et non pas comme un gros gâchis en ne sachant pas quelle est la meilleure option dans votre cas ...

La vérité est qu'il n'y a pas que des outils tels que tar avec lesquels nous pouvons créer des packages auxquels on peut également ajouter un type de compression comme nous avons l'habitude de voir dans les fameuses tarballs dont nous avons déjà parlé LxA à plusieurs reprises. Nous trouverons également des variantes d'outils triviaux et fréquents tels que grep pour rechercher dans des fichiers compressés tels que bzfgrep, ou même d'autres tels que less et more qui ont également leurs variantes pour les fichiers compressés tels que bzless et bzmore. Pour les voir tous, il suffit de jeter un œil à la sortie de la commande suivante:

apropos compress

Algorithmes et tests:

Parmi tous algorithmes compression sans perte disponible sous Linux pour compresser et décompresser les données, nous avons beaucoup d'options. Pour avoir la preuve du temps qu'il faut pour compresser avec l'un ou l'autre algorithme de compression ou combien de temps il faut pour le décompresser, je vous suggère de faire quelques tests vous-même. Vous pouvez utiliser la commande time pour cela, qui vous donnera le temps qui a été pris pour le processus de compression et de décompression. Par exemple, si vous allez utiliser l'outil zip pour compresser un fichier appelé test:

time zip prueba.zip prueba

Cela gâcherait le temps utilisé, mais si vous voulez voir la taille du fichier généréVous pouvez essayer de compresser le même fichier avec différents algorithmes et outils de compression et une fois que vous avez tous les fichiers compressés dans un répertoire avec une simple commande à lister, vérifiez la taille de chacun:

ls -l

Si vous préférez, vous pouvez également utiliser d'autres outils pour comparer des fichiers compressés, par exemple avec certaines variantes de l'outil de comparaison:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Si vous souhaitez voir des graphiques sur la taille et la vitesse des algorithmes, vous pouvez visiter cet autre lien.

Outils de compression:

En ce qui concerne les outils disponibles nous en avons beaucoup, certains avec une interface graphique pour les débutants et que nous devrons simplement faire face à une interface graphique simple et intuitive pour effectuer des compressions et des décompressions comme PeaZip, ou 7zip, ... etc. Plus précisément, le premier est capable de travailler avec différents formats, en particulier plus de 180 d'entre eux. Mais si vous faites partie de ceux qui aiment toujours travailler avec le terminal, vous disposerez d'un grand nombre d'outils que vous connaissez sûrement:

  • zip et décompresser: c'est une bonne option si vous voulez des fichiers portables sur d'autres systèmes d'exploitation, car vous trouverez des outils pour travailler avec ces fichiers sur les systèmes Microsoft Windows et aussi sur macOS ainsi que sur d'autres. Par exemple, pour compresser un fichier ou un répertoire nommé test, puis le décompresser:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: C'est le meilleur si vous voulez simplement la portabilité entre les systèmes d'exploitation Unix / Linux. Peut-être que le taux de compression est presque identique à zip, peut-être légèrement meilleur, mais vous ne trouverez pas beaucoup de différence de taille de fichier sous zip ou gzip. Pour compresser et décompresser avec cet outil, nous pouvons utiliser deux options dans le cas de la décompression et ce sont l'option -do, en utilisant directement l'alias gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Comme le précédent, cet algorithme est très présent dans les systèmes d'exploitation Unix / Linux, même s'il prendra un peu plus de temps dans les processus de compression et de décompression que dans le cas de gzip. Dans ce cas, le retard ne se traduira pas par un taux de compression plus élevé comme dans le cas de xz, puisque les fichiers compressés sous bzip2 occuperont un peu plus que ceux de gzip. C'est pourquoi il est recommandé d'éviter bzip2 et d'opter pour xz ou gzip à la place. Bien que tout dépendra un peu du type de fichier que vous essayez de compresser ... Par exemple:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: C'est le format préféré pour les fichiers de grande taille, car il offre les meilleurs taux de compression, mais il est également vrai qu'il faudra plus de temps pour terminer une compression ou une décompression. Il est assez récent que les précédents, vous pouvez donc vous retrouver avec des distributions plus primitives ou d'anciens systèmes Unix qui n'ont pas d'outil pour celui-ci. Exemples:
xz prueba

xz -d prueba.xz

  • irar et rar: On peut aussi travailler avec les formats RAR sous Linux grâce à ces outils, bien que ce ne soit pas aussi populaire dans le cas des systèmes * nix que les précédents ... Dans ce cas on peut choisir:
rar a prueba.rar prueba

unrar e prueba.rar

  • compresser et décompresser: et bien que l'utilisation de compress soit perdue et ne soit pas aussi populaire que les précédentes, je ne voudrais pas non plus oublier cet outil. Il est utilisé pour compresser des fichiers avec une extension .Z et le fait grâce à un algorithme Lempel-Ziv modifié. Par exemple:
compress -v prueba

uncompress prueba.Z

Si vous souhaitez travailler directement avec l'outil tarVous pouvez également emballer et compresser les fichiers en même temps, ainsi que les décompresser et les décompresser. Dans ce cas, nous pouvons passer les options du type d'algorithme à utiliser directement à tar. Mais tout d'abord, vous devez savoir qu'avec l'option c nous créons un package et avec l'option x nous l'extrayons. Par example:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Comme vous pouvez le voir, nous avons utilisé les options zvf qui doivent indiquer le type d'algorithme de compression z (dans ce cas gzip), v pour le mode verbeux qui donne des informations sur ce qu'il fait, et f pour indiquer le fichier avec lequel travailler ... Eh bien, si on change cela z par une autre lettre correspondant à un autre type d'algorithme on peut modifier le type de compression appliqué à l'archive tar:

option Algorithme Extension
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
zip Zip *: français .tar.lz
lzma lzma .tar.lzma

* Bien sûr, toutes les commandes précédentes ont des options intéressantes que je vous invite à découvrir en utilisant man, certaines très nécessaires comme la récursivité, etc.

Ne pas oublier laissez vos commentaires...


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Javier Martinez Echenique dit

    J'utilise en particulier 7zip

  2.   Marcelo dit

    Vous avez manqué le 7zip. Une très bonne option et un LOGICIEL GRATUIT.

  3.   Umberto dit

    Excellente information, même si j'aurais commencé par dire qu'elle peut aussi être compressée et décompressée graphiquement sans aucun problème pour ne pas voir le "frelon" du moment qui dit que GNU / Linux est très difficile et que tout doit être fait sur la console. NON, C'EST UNE AUTRE OPTION.