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 24/12/2022, 14:06]
Amiralgaby [Création] étoile -> astérisque + caractère en gras en forçant dokuwiki a considérer que l'astérisque est un caractère
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]] (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**. [[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**.
Ligne 23: Ligne 22:
 Le format zip (la version en ligne de commande) doit être installé. Il sera utilisé par les logiciels graphiques. 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 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é, et valider.+  * **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, 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 partielles, par 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=====
  
-Ce type d'​utilisation ​se fait plutôt dans des scripts. ​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 ====
 +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   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. 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/​compresser]+  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. 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 *   zip -r votre_archive.zip *
-Dans cet exemple, l'​astérisque "​**%%*%%**"​ indique que TOUS dans le répertoire courant doit être zippé, et l'​option **-r** indique que cela inclus ​aussi les sous-répertoires. +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] +  zip -e votre_archive.zip liste-des-fichiers 
-L'​option **-e** chiffre le zip et demande un mot de passe+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).
- +
-Afin de compresser plusieurs sous-répertoires séparément ​(bash:+
   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 52: 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.1671887195.txt.gz
  • Dernière modification: Le 24/12/2022, 14:06
  • par Amiralgaby