GNU/Linux >> Tutoriels Linux >  >> Linux

Compression de fichiers Linux :tout ce que vous devez savoir

La compression est une technique informatique importante utilisée par les programmes, les services et les utilisateurs pour économiser de l'espace et améliorer la qualité du service. Par exemple, si vous téléchargez un jeu via une plateforme de jeu, il télécharge généralement une version compressée afin de gagner du temps et de l'espace. La décompression a lieu après le téléchargement du fichier ou pendant le processus d'installation.

Mais pourquoi est-ce que je te raconte tout ça ? Eh bien, aujourd'hui, je vais passer en revue la compression de fichiers Linux et vous montrer tout ce que vous devez savoir.

Comprendre la compression

Avant d'aller de l'avant et d'en savoir plus sur la compression Linux, comprenons d'abord plus de choses sur la compression.

La compression est une technique de réduction de la taille du fichier sur un disque donné à l'aide de différents calculs mathématiques et algorithmes. Le but principal de la compression est d'économiser de l'espace. Cela est possible dans la façon dont les fichiers sont stockés sur les disques durs. Les algorithmes ou les calculs mathématiques trouvent un modèle et compressent cette partie de celui-ci afin qu'il puisse le générer avec peu ou pas de perte de détails. En bref, le contenu répété ouvre la voie au bon fonctionnement de la compression.

Il existe deux types de compression que vous devez connaître. Ce sont des compressions avec et sans perte.

Compression sans perte

Il s'agit d'une technique de compression qui ne perd pas d'informations et les données réelles peuvent être récupérées à partir du fichier compressé. La compression avec perte est utile pour réduire la taille du fichier sans perdre la qualité du fichier d'origine.

Compression avec perte

D'autre part, il existe une technique de compression avec perte qui comprime un fichier pour économiser de l'espace, mais le fichier compressé ne peut pas être utilisé pour récupérer le contenu du fichier d'origine. Dans ce cas, les informations sont perdues.

Pour comprendre cela, prenons un exemple. Vous pouvez prendre une image brute, puis la compresser en utilisant le mode avec et sans perte. Dans la compression sans perte, la taille de l'image diminuera légèrement et vous pourrez conserver l'image d'origine si vous décompressez l'image. Dans la plupart des cas, un format PNG est utilisé pour une compression sans perte. Cependant, si vous utilisez la compression avec perte, vous obtiendrez une sortie d'image qui ne pourra pas être rétablie à celle d'origine. Dans ce cas, l'image résultante est au format JPEG/JPG.

Les algorithmes de compression sont excellents à leur manière et apportent une valeur ajoutée à l'utilisateur. Les nouveaux algorithmes utilisent une méthode adaptative où ils sont rapides et plus précis dans leur technique de compression.

Différentes façons de compresser des fichiers sous Linux

Pour comprendre la compression sous Linux, nous devons d'abord créer un fichier pour tester les méthodes de compression. Pour ce faire, nous pouvons générer aléatoirement un fichier en utilisant la procédure suivante.

base64 /dev/urandom | head -c 3000000 > mynewfile.txt

Pour connaître la taille du fichier nouvellement créé, vous pouvez exécuter la commande suivante.

ls -l --block-size=MB

Vous pouvez également vérifier la taille du fichier en utilisant l'explorateur de fichiers et en vérifiant la taille du fichier dans ses propriétés.

Créons plusieurs copies du fichier afin de pouvoir l'utiliser pour tester les techniques de compression.

La taille totale du dossier dans lequel les fichiers sont stockés est de 150 Mo.

Compression Zip

L'une des techniques de compression standard que vous trouverez sous Linux est la technique de compression zip. Pour exécuter la commande zip sur les fichiers que nous avons, vous devez exécuter la commande suivante.

zip <output>.zip <input>

Donc, pour compresser les cinq fichiers que nous avons dans le dossier, nous devons exécuter la commande suivante.

zip testing1.zip *

L'exécution de la commande prendra un certain temps et vous la verrez se dérouler sous vos yeux.

Comme vous pouvez le voir, chacun des fichiers a été réduit de 24 %. Avec 24% d'économie, la taille finale s'élève à 114 Mo. C'est très bien. Le résultat aurait été différent si nous avions utilisé des fichiers sources supplémentaires. Une autre chose que vous auriez remarquée est qu'il utilise la technique de compression deflate.

Pour décompresser le fichier, vous devez utiliser la commande suivante.

décompressez .zip -d

Comme vous pouvez le voir, vous pouvez définir une destination. Vous pouvez également décompresser dans le même dossier en utilisant simplement la commande sans le paramètre de destination.

Compression Gzip

Maintenant que nous sommes passés à la compression zip, il est temps de passer à la compression GNU Zip ou gzip. C'est aussi une méthode populaire pour compresser les fichiers sous Linux. Jean-Loup Gailly et Mark Adler le créent.

En outre, il est meilleur que la méthode de compression zip car il offre une meilleure compression. La syntaxe pour utiliser la compression Gzip est la suivante.

gzip <option> <input>

Pour compresser les fichiers que nous avons, nous devons utiliser la commande suivante.

gzip -v mynewfile1.txt

Cela compressera le fichier "monnouveaufichier1.txt", puis le nommera "monnouveaufichier1.txt.gz".

La taille finale du fichier est de 22,8 Mo, ce qui est une compression assez impressionnante.

Vous pouvez également compresser l'intégralité du dossier en utilisant l'indicateur récursif -r. La syntaxe est la suivante :

gzip -r <folder_path>

Vous pouvez également personnaliser le niveau de compression du Gzip. La valeur du niveau de compression peut être définie de 1 à 9. 1 représente la compression la plus rapide et la moins élevée, tandis que 9 représente la compression la plus lente mais la meilleure.

gzip -v -9 mynewfile1.txt

Pour décompresser le fichier gzip, vous devez utiliser la commande suivante.

gzip -d <gzip_file>

Compression Bzip2

Le dernier type de compression dont nous allons discuter est Bzip2. C'est un outil open-source et gratuit. Il utilise l'algorithme de Burrows-Wheeler.

La technique de compression est assez ancienne car elle a été introduite pour la première fois en 1996. Vous pouvez utiliser Bzip2 dans votre travail quotidien. Il est rapide et fonctionne de la même manière que l'outil gzip. La syntaxe de la technique de compression Bzip2 est la suivante :

bzip2 <option> <input>

Essayons de compresser le fichier en utilisant bzip2.

Tout comme gzip, vous pouvez également définir la force de la compression de 1 à 9.

Pour décompresser le fichier, vous devez utiliser la commande suivante.

bzip2 -d <filename>

Archivage

Il y a un autre terme important que nous devons apprendre ici.

L'archivage est la méthode de sauvegarde des données dans un emplacement sécurisé à l'aide d'un format compressé (généralement). Dans le serveur Linux, vous trouverez l'extension de fichier tar qui signifie qu'il s'agit d'un fichier archivé. Le format tar est excellent lorsqu'il s'agit de manipuler et d'adresser différents fichiers. Il peut conserver les métadonnées et les autorisations intactes et est donc principalement utilisé à des fins d'archivage sur les systèmes Linux.

La syntaxe de la commande tar est la suivante.

tar <option> <output_file> <input>

Pour extraire, vous devez utiliser la commande suivante.

tar -xvf <archieved-file-name>

Conclusion

Cela nous amène à la fin de notre guide de compression Linux. Comme vous pouvez le constater, il existe de nombreuses façons de compresser des fichiers. En outre, le processus d'archivage a son utilisation unique. Alors, que pensez-vous de la compression de fichiers Linux ? L'utilisez-vous beaucoup ? Faites-le nous savoir dans les commentaires ci-dessous.


Linux
  1. Répertoire Linux tmp :tout ce que vous devez savoir

  2. Autorisations de fichiers Linux :tout ce que vous devez savoir

  3. Swappiness sous Linux :tout ce que vous devez savoir

  4. Linux - Tout est un fichier ?

  5. Tout ce que vous devez savoir sur le système de fichiers Linux

Tout ce que vous devez savoir sur la distribution Linux Mint

Tout ce que vous devez savoir sur les inodes sous Linux

Tout ce que vous devez savoir sur le lien physique sous Linux

Tout ce que vous devez savoir sur l'UID sous Linux

Tout ce que vous devez savoir sur le répertoire Linux /tmp

Liens matériels et liens logiciels sous Linux :tout ce que vous devez savoir