Ceci est une ancienne révision du document !



Format ZIP

ZIP est un vieux format d'archive compressé, mais aussi une commande pour créer ce type d'archive. Le format « .zip » est supporté nativement dans Ubuntu. Les commandes zip et unzip sous Ubuntu sont sous licence libre.

Zip archive des fichiers (regroupement en un seul fichier) et les compresse (réduction de la taille). Il peut créer des archives chiffrées protégées par mot de passe, ou des archives éclatées en plusieurs fichier de tailles limitées (pour faciliter les transferts ou les envois par mail).

Gzip (extension .gz), très utilisé sous Linux, utilise le même algorithme deflate que le zip pour compresser, mais sans option d'archivage. L'archivage vient alors de tar, d'où l'extension .tar.gz.

Un des inconvénients du ZIP c'est que dans sa dimension "archivage", il perd certaines métadonnées. Ce n'est pas forcément important, mais si c'est le cas, alors mieux vaut utiliser l'archiveur .tar.

Zip est installé par défaut, vous n'avez rien à faire. Si zip n'est pas installé sur votre version d'Ubuntu (ou a été effacé) :

  • Cliquez ici pour le programme de création des zip : zip. Ou au terminal sudo apt install zip
  • Cliquez ici pour le programme d'extraction des zip : unzip. Ou au terminal sudo apt install unzip

Le format zip (la version en ligne de commande) doit être installé. Il sera utilisé par les logiciels graphiques.

  • Pour extraire (décompresser) une archive, il suffit de faire un clic-droit sur son fichier, puis choisir "Extraire l'archive" (ou formulation équivalente selon votre variante d'Ubuntu, comme "Décompresser l'archive").
  • Pour créer une archive, il suffit de sélectionner les fichiers à compresser dans son explorateur de fichiers, puis faire un clic-droit, "compresser" (ou un équivalent), choisir le zip dans les formats de compression/archivage proposés, et valider.

Les gestionnaires d'archives ne sont donc pas forcément indispensables, mais votre installation d'Ubuntu en a normalement un, permettant d'aller plus loin dans la manipulation des archives (ajouts ou suppressions partielles, par exemple). Si vous en cherchez un autre que celui par défaut, consultez cette page.

Ce type d'utilisation a deux avantages principaux :

  1. certaines options ne sont guère disponibles qu'en ligne de commande.
  2. Créer des scripts.

En ligne de commande, on utilise les commandes zip (création) et unzip (extraction). Pour connaître les options, tapez man zip ou man unzip au terminal. Ci-dessous les commandes de bases.

Création

Il existe de nombreuses options de création. Pour les avoir toutes, tapez man zip dans un terminal. Voilà les plus importantes.

zip votre_archive.zip fichier1 fichier2 fichier3

Cet exemple crée le fichier votre_archive.zip à partir de la liste des fichiers qui suivent, et qui sont séparés par des espaces.

zip -r votre_archive.zip dossier-à-archiver

Dans cet exemple, l'option -r implique la récursivité, c'est à dire que zip va compresser/archiver TOUT ce qui se trouve dans le ou les répertoires indiqués, y compris les sous-répertoires.

zip -r votre_archive.zip *

Dans cet exemple, l'astérisque "*" indique que TOUT dans le répertoire courant doit être zippé, et l'option -r indique que cela inclut aussi les sous-répertoires.

zip -e votre_archive.zip liste-des-fichiers

L'option -e chiffre le zip et demande un mot de passe (a saisir 2 fois a la création, et une seule fois a la décompression).

for f in *; do zip "$f.zip" "$f"/*; done

Cette commande bash permet de compresser plusieurs sous-répertoires, avec des ZIP séparés (un par répertoire).

Extraction

unzip votre_archive.zip -d mon_repertoire

Extraction de plusieurs .zip d'un même dossier :

for f in *.zip;do unzip "$f";done

ou

unzip '*.zip'

Quelques fois les archives zip sont découpées comme suit : archive.z01, archive.z02, …, archive.zip

Pour gagner du temps à la décompression / extraction, on peut assembler ces fichiers dans une seule archive, puis extraire cette dernière :

cat archive.z* > archive_globale.zip
unzip archive_globale.zip
  • zip.1699195550.txt.gz
  • Dernière modification: Le 05/11/2023, 15:45
  • par 86.202.8.12