Skip to main content

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 (UbuntuDebian…) – 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.

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.

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

 

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

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

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.

Compresser plusieurs fichiers à la fois

Pour compresser un répertoire entier et des fichiers, entrez la commande suivante :

tar -czvf archive.tar.gz ~/chemin/repertoire/ ~/chemin/fichier.jpg ~/chemin/fichier2.odt