feigned

Linux : compresser et décompresser des fichiers avec tar (gzip, bzip2, xz)

Le Crabe
  • Le
  • Mis à jour le
  • 408.9K vues

Publicité

Ce tutoriel vous explique comment compresser et décompresser des fichiers sur Linux en utilisant la commande tar.

Publicité

Vous pensez que c’est compliqué ? C’est juste une impression ! Car vous allez voir qu’il est très simple de créer et d’extraire des archives avec Linux.

Dans ce tutoriel, vous aurez le choix entre utiliser l’interface graphique ou bien la ligne de commande avec la possibilité de choisir entre différents logiciels de compression (gzip, bzip2 ou xz) selon vos besoins !

Utilisateur de Windows ? Suivez ce tutoriel : compresser un fichier ou un dossier avec 7-Zip (Windows).

Publicité

Préambule : l’archivage et la compression sur Linux

Sur Linux, on utilise la commande tar pour créer des archives au format .tar.

Par défaut, une archive n’est pas compressée. Il faudra utiliser un logiciel de compression (gzip, bzip2 ou xz) pour compresser l’archive, ce qui donnera une archive au format .tar.gz, .tar.bz2 ou .tar.xz.

Heureusement, la commande tar – incluse nativement dans toutes les distributions Linux (Ubuntu, Debian…) – gère la compression. Elle permet ainsi de créer une archive .tar, puis de la compresser avec un logiciel de compression comme gzip et ce, en une seule commande.

Mmmh… Tu peux résumer ? C’est quoi la différence entre tar, gzip et tout le reste ?

Pour résumer :

  • tar est un logiciel d’archivage qui permet de combiner plusieurs fichiers en un seul.
  • gzip est un logiciel de compression utilisé pour réduire la taille d’un fichier.
  • tar et gzip sont utilisés ensemble pour créer des archives compressées.
  • .tar : fichier d’archive non compressé.
  • .gz : fichier (archive ou non) compressé avec gzip.
  • .tar.gz : fichier d’archive compressé avec gzip.
  • Il existe également d’autres logiciels de compression comme bzip2 et xz qui compressent les archives en utilisant d’autres algorithmes de compression.

Quelle est la différence entre gzip, bzip2 et xz ?

  • gzip utilise l’algorithme de compression Deflate.
  • bzip2 utilise l’algorithme de compression du même nom (bzip2).
  • xz utilise l’algorithme de compression LZMA2 (comme 7-Zip).
  • Au niveau des performances :
    • Vitesse d’extraction (du + rapide au + lent) : gzip > xz > bzip2.
    • Vitesse de compression (du + rapide au + lent): gzip > bzip2 > xz.
    • Taux de compression (du meilleur au moins bon) : xz > bzip2 > gzip.
    • Compatibilité (Linux) : gzip > bzip2 > xz.
    • Compatibilité (Windows) : xz > gzip, bzip2

La commande tar dispose d’un grand nombre d’options, mais il vous suffit d’en mémoriser seulement quelques unes pour créer rapidement des archives compressées.

tar permet évidemment de faire le chemin inverse et d’extraire (décompresser) des archives.

Voici comment l’utiliser : d’abord avec le Terminal et ensuite avec le Gestionnaire de fichiers. 😉

Publicité

Linux : compresser et décompresser des fichiers avec tar

via le Terminal

Compresser un fichier ou un dossier

Pour compresser un répertoire entier ou bien un seul fichier, entrez la commande suivante :

tar -czvf nom-de-l-archive.tar.gz /chemin/vers/répertoire-ou-fichier

Voici le détail des options :

  • c : crée un archive.
  • z : compresse l’archive avec gzip.
  • v : mode verbeux, affiche la progression.
  • f : permet de spécifier le nom du fichier d’archive.

Par exemple :

tar -czvf wallpapers.tar.gz ~/Images/Wallpapers/

La compression fonctionne de manière récursive : elle compresse tous les fichiers et sous-dossiers du répertoire que vous avez spécifié.

Compresser plusieurs fichiers à la fois

La commande tar peut également être utilisée pour compresser plusieurs dossiers et fichiers en même temps. Il suffit simplement de saisir une liste de fichiers et de dossiers à compresser au lieu d’un seul.

Par exemple, pour compresser :

  • le dossier ~/Images/Wallpapers,
  • le fichier ~/Téléchargements/photo.jpg,
  • et le fichier ~/Documents/sample.pdf

vous devez saisir la commande suivante :

tar -czvf archive.tar.gz ~/Images/Wallpapers/ ~/Téléchargements/photo.jpg ~/Documents/sample.odt

Compresser avec xz ou bz2

Même si la compression avec gzip est la solution plus utilisée pour créer des archives compressées, tar prend également en charge la compression avec xz et bzip2.

Pour rappel, xz utilise l’algorithme de compression LZMA2 et bzip2 utilise l’algorithme du même nom. Globalement, xz est le plus performant et permet d’obtenir un meilleur taux de compression que gzip et bzip2.

  • Pour compresser avec xz : remplacez l’option -z (pour gzip) par -J pour xz. Cela créera un fichier d’archive au format .tar.xz.
  • Pour compresser avec bzip2 : remplacer l’option -z (pour gzip) par -j pour bzip2. Cela créera un fichier d’archive au format .tar.bz2.

Par exemple, pour compresser un répertoire avec xz, entrez la commande suivante :

tar -cJvf archive.tar.xz ~/Documents/

Et pour compresser avec bzip2 :

tar -cjvf archive.tar.bz2 ~/Documents/

Exclure des dossiers/fichiers

Pour compresser un répertoire en excluant certains fichiers ou dossiers, vous pouvez utiliser l’option --exclude pour chaque dossier et fichier à exclure.

Par exemple, pour compresser le répertoire ~/Images/Wallpapers mais sans les sous-dossiers ~/Images/Wallpapers/Ubuntu et ~/Images/Wallpapers/Fedora, utilisez la commande suivante :

tar -czvf archive.tar.gz ~/Images/Wallpapers --exclude=~/Images/Wallpapers/Ubuntu --exclude=~/Images/Wallpapers/Fedora

Vous pouvez également utiliser des patterns (ou modèles) pour exclure des types de fichiers précis. Par exemple, pour exclure tous les fichiers .jpg, utilisez la commande suivante:

tar -czvf archive.tar.gz ~/Images/Wallpapers --exclude=*.jpg

Décompresser une archive

La commande tar est aussi capable d’extraire (décompresser) une archive.

Par exemple, pour extraire le contenu du fichier archive.tar.gz dans le répertoire courrant, entrez la commande suivante :

tar -xzvf archive.tar.gz

Il s’agit en fait de la même commande que celle pour créer une archive, sauf que l’on remplace l’option -c par -x qui indique à tar d’extraire une archive au lieu d’en créer une.

Pour extraire le contenu de l’archive dans un répertoire spécifique, il faudra ajouter l’option -C. Par exemple, pour extraire le contenu du fichier archive.tar.gz dans le répertoire /tmp, entrez la commande suivante :

tar -xzvf archive.tar.gz -C /tmp

Si l’archive était compressée avec bzip2, il faudrait remplacer l’option -z (pour gzip) par -j (pour bzip2). Et pour une archive compressée avec xz, il faudrait utiliser -J (pour xz).

via le Gestionnaire de fichiers

Les environnements de bureau comme GNOME et KDE Plasma permettent de compresser et de décompresser des fichiers via leur gestionnaire de fichiers :

  • Pour GNOME : le gestionnaire de fichiers GNOME Fichiers + le logiciel d’archivage GNOME Archive Manager.
  • Pour KDE Plasma : le gestionnaire de fichiers Dolphin + le logiciel d’archivage Ark.

Voyons comment les utiliser pour compresser des fichiers et extraire une archive.

Compresser des fichiers

Sur KDE Plasma :

  1. Cliquez droit sur le dossier à compresser → Compresser.
  2. Puis sélectionnez une des options suivantes :
    • Ici (en tar.gz) : pour créer une archive tar compressée avec gzip (Deflate).
    • Ici (en zip) : pour créer une archive zip compressée (Deflate).
    • Compresser vers : plus avoir plus d’options de compression.
  3. Voilà, votre archive compressée a bien été créée !

Sur GNOME :

  1. Cliquez droit sur le dossier à compresser → Compresser.
  2. Entrez un nom pour le fichier d’archive puis sélectionnez le format de l’archive :
    • .zip : format ZIP, compression Deflate
    • .tar.xz : format tar, compression LZMA2
    • .7z : format 7z, compression LZMA
  3. Voilà, votre archive compressée a bien été créée !

Décompresser une archive

Sur KDE Plasma :

  1. Cliquez droit sur l’archive à décompresser → Extraire.
  2. Puis sélectionnez une des options suivantes :
    • Extraire l’archive ici : décompresse l’archive dans le répertoire courrant.
    • Extraire l’archive vers : ouvre la fenêtre Extraire, permet de choisir le répertoire de destination et diverses options d’extraction.
    • Extraire l’archive ici, détecter le sous-dosser : crée un sous-dossier dans le répertoire courrant et y extrait le contenu de l’archive.
  3. Voilà, votre archive a bien été décompressée !

Sur GNOME :

  1. Cliquez droit sur l’archive à décompresser.
  2. Puis sélectionnez une des options suivantes :
    • Extraire ici : décompresse l’archive dans le répertoire courrant.
    • Extraire vers : permet de choisir le répertoire de destination pour l’extraction.
  3. Voilà, votre archive a bien été décompressée !

Publicité

Bonus : antisèche (cheat sheet)

Compression

Commande Description
tar -czvf archive.tar.gz [fichier(s)] Compresser avec tar + gzip
tar -cjvf archive.tar.bz2 [fichier(s)] Compresser avec tar + bz2
tar -cJvf archive.tar.xz [fichier(s)] Compresser avec tar + xz

Extraction

Commande Description
tar -xzvf archive.tar.gz Extraire une archive gzip
tar -xjvf archive.tar.bz2 Extraire une archive bz2
tar -xJvf archive.tar.xz Extraire une archive xz

Lister les fichiers d’une archive

Commande Description
tar -tzvf archive.tar.gz Lister les fichiers d’une archive gzip
tar -tjvf archive.tar.bz2 Lister les fichiers d’une archive bz2
tar -tJvf archive.tar.xz Lister les fichiers d’une archive xz

Liens utiles

Nos si délicieux cookies... 😔

Vous avez choisi de refuser les cookies : nous ne pouvons donc pas afficher de publicités sur le site.
Nous respectons votre choix. Sachez néanmoins que c'est grâce aux cookies et à la publicité que Le Crabe Info est entièrement gratuit.

En acceptant les cookies, vous aideriez et contribueriez à la gratuité du Crabe Info ! 🦀

Si vous changez d'avis et que vous avez envie de nous donner un coup de pince, cliquez ici :

Quitter la version mobile