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 :

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


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 :

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


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

Bonus: 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

Revision #3
Created 22 May 2023 14:18:18 by gpatruno
Updated 22 May 2023 14:27:47 by gpatruno