Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
zip [Le 04/12/2022, 09:59]
christophe c [Installation]
zip [Le 11/01/2024, 12:52] (Version actuelle)
141.227.26.230 [Création]
Ligne 6: Ligne 6:
  
 **ZIP** est un vieux format d'​archive compressé, mais aussi une commande pour créer ce type d'​archive. **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. ​+Le format « .zip » est supporté nativement dans Ubuntu. Les commandes **zip** et **unzip** sous Ubuntu sont sous licence libre.
  
-Il archive des fichiers (regroupement en un seul fichier) et les compresse (réduction de la taille). +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).
-La commande **zip** sous Ubuntu est sous licence libre.+
  
-[[wpfr>​Gzip]],​ très utilisé sous Linux, utilise le même algorithme [[wpfr>​deflate]] que le zip pour compresser, mais sans option d'​archivage. L'​archivage vient alors de **tar**, d'où l'​extension **.tar.gz**.+[[wpfr>​Gzip]] ​(extension **.gz**), très utilisé sous Linux, utilise le même algorithme [[wpfr>​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 [[wpf>​métadonnées]]. Ce n'est pas forcément important, mais si c'est le cas, alors mieux vaut utiliser l'​archiveur **.tar**.
  
 =====Installation===== =====Installation=====
Ligne 19: Ligne 20:
  
 =====Gérer les .zip avec un logiciel graphique===== =====Gérer les .zip avec un logiciel graphique=====
-La plupart des logiciels graphiques de compression/​décompression savent utiliser ​**zip**, si le programme en ligne de commande est installé+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.
  
-Toutes les variantes ​d'​Ubuntu ​ont un logiciel graphique ​d'archivage et compression préinstallémais si vous en cherchez un autre, consultez [[archivage|cette page]].+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 partiellespar exemple). Si vous en cherchez un autre que celui par défaut, consultez [[archivage|cette page]].
  
 =====Gérer les .zip en ligne de commande===== =====Gérer les .zip en ligne de commande=====
  
-On utilise ​alors les commandes **zip** (création) et **unzip** (extraction).+Ce type d'​utilisation a deux avantages principaux :  
 +  - certaines options ne sont guère disponibles qu'en ligne de commande. 
 +  - 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 ==== ==== Création ====
-  zip votre_archive.zip [liste des fichiers] +Il existe de nombreuses options de créationPour les avoir toutes, tapez **man zip** dans un terminal. Voilà les plus importantes.
-  zip -r votre_archive.zip [dossier] +
-  zip -r votre_archive.zip * +
-(la dernière option avec étoile compresse tous les fichiers et sous-répertoires du répertoire courant). +
-  zip -e votre_archive.zip [liste des fichiers] +
-L'​option ​**-e** chiffre le zip et demande ​un mot de passe.+
  
-Afin de compresser ​plusieurs ​sous-répertoires ​séparément ​(bash:+  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 dossier1-à-archiver dossier2-à-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   for f in *; do zip "​$f.zip"​ "​$f"/​*;​ done
 +Cette commande [[bash|bash]] permet de compresser plusieurs sous-répertoires,​ avec des ZIP séparés (un par répertoire).
 ==== Extraction ==== ==== Extraction ====
   unzip votre_archive.zip -d mon_repertoire   unzip votre_archive.zip -d mon_repertoire
Ligne 46: Ligne 54:
 <​code>​unzip '​*.zip'</​code>​ <​code>​unzip '​*.zip'</​code>​
  
-===== Archives ​zip découpées ​ ​===== +===== Cas particulier : les zip découpés ​ ​===== 
-Quelques fois les archives zip sont découpées ​comme suit archive.z01archive.z02, ..., archive.zip+Il est possible de créer des archives zip éclatées en plusieurs fichiers grace à l'​option **-s** (**s** ​comme "​split"​). L’intérêt est de pouvoir les transférer séparément (avant de les rassembler) sans souffrir de limitations de taille (des mails, des clés USB ...). 
 + 
 +Pour créer des archives découpées ​: 
 +  zip -s taille_max votre_archive fichier.origine 
 +Les tailles maxi peuvent être exprimées en **k** (kilo-octets)en **m** (mégaoctets),​ en **g** (gigaoctets) ou en **t** (teraoctets)La taille minimale est de 64k. Le fichier "​destination"​ n'a pas besoin qu'on précise l'​extension **.zip**mais ce n'est pas interdit. 
 + 
 +Exemple pour un film de 299 mégaoctets appelé **film.mp4** qu'on veut couper en morceaux de 100 mégaoctets maxLes fichiers de destination s'​appelleront **xx** ​ : 
 +  zip -s 100m xx film.mp4 
 + 
 +On aura dans cet exemple 3 fichiers zippés : **xx.z01xx.z02, xx.zip**. \\ 
 +Bien sur, plutôt qu'un gros fichier, on peut indiquer un répertoire (et en ajoutant l'​option **-r** on peut archiver aussi ses sous répertoires),​ ou un ensemble de fichiers ... Les autres options de création sont compatibles avec **-s**.
  
-Pour gagner du temps à la décompression / extraction, on peut assembler ​ces fichiers ​dans une seule archivepuis extraire cette dernière ​+Aucun de ces fichiers "​splités"​ ne peut être décompressé tel que. Ils doivent d'​abord être rassemblés en un seul .zip (normalement après leur transfert au détail). ​Pour cet assemblage (après réception), on utilise la commande **cat** (concaténer). Dans l'​exemple précédent,​ il faut assembler ​les 3 fichiers ​**xx**et on choisit d'​appeler le fichier concaténé **film.zip** ​
-<​code>​ +  cat xx.* > film.zip 
-cat archive.z* > archive_globale.zip +la commande **zip -F --out** fait la même chose que **cat** (recréer un zip complet). Parfois l'une ne fonctionne pas, on peut alors utiliser l'​autre. 
-unzip archive_globale.zip +  zip -F --out film.zip xx.zip 
-</code>+Il ne reste plus qu'à dézipper le nouveau fichier pour récupérer un fichier **film.mp4** : 
 +  ​unzip film.zip 
 +Pour gagner du temps, on peut regrouper ces 2 commandes : 
 +  cat xx.* film.zip && unzip film.zip 
 +Il arrive que le fichier zip ré-assemblé et dézippable avec la commande unzip ne le soit pas avec un clic droit "​extraire"​ dans l'​explorateur de fichier. L'​extraction en ligne de commande est alors obligatoire.
  
 +Les logiciels graphiques ne savent pas toujours utiliser la fonction "​split"​ de zip.
 =====Voir aussi===== =====Voir aussi=====
   *[[archivage]]   *[[archivage]]
   *[[:p7zip]]   *[[:p7zip]]
  
  • zip.1670144349.txt.gz
  • Dernière modification: Le 04/12/2022, 09:59
  • par christophe c