GNU/Linux >> Tutoriels Linux >  >> Linux

Comment compresser et décompresser des fichiers sous Linux

La compression est très utile lors de la sauvegarde de fichiers importants et de l'envoi de fichiers volumineux sur Internet. Dans ce didacticiel, nous expliquerons comment compresser et décompresser des fichiers sous Linux à l'aide de deux programmes en ligne de commande, à savoir gzip et bzip2 .

Remarque :

La compression d'un fichier déjà compressé ajoute une surcharge supplémentaire, vous obtiendrez donc un fichier légèrement plus gros. Alors, arrêtez de compresser un fichier compressé.

Compresser et décompresser des fichiers sous Linux

Comme indiqué précédemment, les programmes les plus couramment utilisés pour compresser les fichiers dans les systèmes Linux et Unix sont :

  1. gzip
  2. bzip2

Dans un premier temps, nous verrons l'utilisation de Gzip.

1. Compressez et décompressez les fichiers à l'aide du programme Gzip

Le gzip est un utilitaire pour compresser et décompresser des fichiers en utilisant l'algorithme de codage Lempel-Ziv (LZ77).

1.1 Compresser les fichiers

Pour compresser un fichier nommé ostechnix.txt , en le remplaçant par une version compressée gzippée, exécutez :

$ gzip ostechnix.txt

Gzip remplacera le fichier d'origine ostechnix.txt avec une version compressée gzippée nommée ostechnix.txt.gz .

La commande gzip peut également être utilisée d'autres manières. Un bon exemple est que nous pouvons créer une version compressée de la sortie d'une commande spécifique. Regardez la commande suivante.

$ ls -l Downloads/ | gzip > ostechnix.txt.gz

La commande ci-dessus crée une version compressée de la liste des répertoires du dossier Téléchargements.

1.2 Compressez les fichiers et écrivez la sortie dans différents fichiers (ne remplacez pas le fichier d'origine)

Par défaut, le programme gzip compressera le fichier donné, le remplaçant par une version compressée gzip. Vous pouvez cependant conserver le fichier d'origine et écrire la sortie sur la sortie standard. Par exemple, la commande suivante compresse ostechnix.txt et écrit la sortie dans output.txt.gz .

$ gzip -c ostechnix.txt > output.txt.gz

De même, pour décompresser un fichier gzippé en spécifiant le nom du fichier de sortie :

$ gzip -c -d output.txt.gz > ostechnix1.txt

La commande ci-dessus décompresse le output.txt.gz fichier et écrit la sortie dans ostechnix1.txt dossier. Dans les deux cas, il ne supprimera pas le fichier d'origine.

1.3 Décompresser les fichiers

Pour décompresser le fichier ostechnix.txt.gz , en la remplaçant par la version originale non compressée, nous faisons :

$ gzip -d ostechnix.txt.gz

Nous pouvons également utiliser gunzip pour décompresser les fichiers.

$ gunzip ostechnix.txt.gz

1.4 Afficher le contenu des fichiers compressés sans les décompresser

Pour afficher le contenu du fichier compressé à l'aide de gzip sans le décompresser, utilisez -c drapeau comme indiqué ci-dessous :

$ gunzip -c ostechnix1.txt.gz

Vous pouvez également utiliser zcat utilitaire comme ci-dessous.

$ zcat ostechnix.txt.gz

Vous pouvez également diriger la sortie vers la commande "moins" pour afficher la sortie page par page comme ci-dessous.

$ gunzip -c ostechnix1.txt.gz | less
$ zcat ostechnix.txt.gz | less

Alternativement, il y a un zless programme qui remplit la même fonction que le pipeline ci-dessus.

$ zless ostechnix1.txt.gz

1.5 Compresser le fichier avec gzip en spécifiant le niveau de compression

Un autre avantage notable de gzip est qu'il prend en charge le niveau de compression. Il prend en charge 3 niveaux de compression comme indiqué ci-dessous.

  • 1 - Le plus rapide (le pire)
  • 9 - Le plus lent (meilleur)
  • 6 - Niveau par défaut

Pour compresser un fichier nommé ostechnix.txt , en le remplaçant par une version compressée gzippée avec best niveau de compression, nous utilisons :

$ gzip -9 ostechnix.txt

1.6 Concaténer plusieurs fichiers compressés

Il est également possible de concaténer plusieurs fichiers compressés en un seul. Comment? Regardez l'exemple suivant.

$ gzip -c ostechnix1.txt > output.txt.gz
$ gzip -c ostechnix2.txt >> output.txt.gz

Les deux commandes ci-dessus compresseront ostechnix1.txt et ostechnix2.txt et les enregistreront dans un fichier nommé output.txt.gz .

Vous pouvez afficher le contenu des deux fichiers (ostechnix1.txt et ostechnix2.txt) sans les extraire à l'aide de l'une des commandes suivantes :

$ gunzip -c output.txt.gz
$ gunzip -c output.txt
$ zcat output.txt.gz
$ zcat output.txt

Pour plus de détails, reportez-vous aux pages de manuel.

$ man gzip

2. Compressez et décompressez les fichiers à l'aide du programme bzip2

Le bzip2 est très similaire au programme gzip, mais utilise un algorithme de compression différent nommé l'algorithme de compression de texte par tri de blocs de Burrows-Wheeler et le codage de Huffman. Les fichiers compressés avec bzip2 se termineront par .bz2 extension.

Comme je l'ai dit, l'utilisation de bzip2 est presque la même que celle de gzip. Remplacez simplement gzip dans les exemples ci-dessus avec bzip2 , gunzip avec bunzip2 , zcat avec bzcat et ainsi de suite.

Pour compresser un fichier à l'aide de bzip2, en le remplaçant par une version compressée, exécutez :

$ bzip2 ostechnix.txt

Si vous ne voulez pas remplacer le fichier d'origine, utilisez -c flag et écrivez la sortie dans un nouveau fichier.

$ bzip2 -c ostechnix.txt > output.txt.bz2

Pour décompresser un fichier compressé :

$ bzip2 -d ostechnix.txt.bz2

Ou,

$ bunzip2 ostechnix.txt.bz2

Pour afficher le contenu d'un fichier compressé sans le décompresser :

$ bunzip2 -c ostechnix.txt.bz2

Ou,

$ bzcat ostechnix.txt.bz2

Pour plus de détails, consultez les pages de manuel.

$ man bzip2

Suggestion de lecture :

  • Pigz - Compresser et décompresser des fichiers en parallèle sous Linux

Résumé

Dans ce tutoriel, nous avons appris ce que sont les programmes gzip et bzip2 et comment les utiliser pour compresser et décompresser des fichiers avec quelques exemples sous GNU/Linux. Dans le prochain guide, nous allons apprendre comment archiver des fichiers et des répertoires sous Linux .


Linux
  1. Comment compresser des fichiers et des répertoires sous Linux (avec exemples)

  2. Commande Tar sous Linux (compresser et décompresser les fichiers)

  3. Comment compresser et extraire des fichiers à l'aide de la commande tar sous Linux ?

  4. Comment copier des fichiers sous Linux et Unix ? 10 exemples de commandes cp

  5. Comment compresser et décompresser des fichiers .bz2 sous Linux à l'aide de la commande bzip2

Comment compresser des fichiers et des répertoires sous Linux

Pigz - Compresser et décompresser des fichiers en parallèle sous Linux

Comment installer Rclone sous Linux et Unix

Commande tar Linux - Comment compresser des fichiers sous Linux

Comment compresser des fichiers volumineux (100 Go +) plus rapidement sous Linux

Comment installer et utiliser Pigz pour compresser des fichiers plus rapidement sous Linux