7Zip : How to
Depuis plusieurs semaines, je trouve que nous ne savons pas assez bien profiter des utilitaires de compression de données. Mon impression s’est renforcée lorsque j’ai du découper un fichier en plusieurs petits fichiers ou volumes de même taille. C’est pourquoi aujourd’hui, je souhaite consacrer un peu de temps pour découvrir ou redécouvrir l’utilitaire 7z connu sous le nom de 7-Zip.
Dans la suite de mes exemples, je vais me baser sur un fichier PDF de quelques Mo. Pour information, le contenu d’un fichier PDF est déjà compressé avec la méthode Deflate. La même qui est utilisée pour les fichiers Zip entre autre. C’est pourquoi la taille du fichier compressé sera identique à la taille du fichier non compressé.
Fonctions
Ce sont les paramètres de commande qui ne sont préfixés par un “-”. Les fonctions sont essentiellement la compression, la décompression et la visualisation du contenu de l’archive.
Compresser le fichier
Pour compresser le fichier monPdf.pdf en monPdf.7z, il faut utiliser la fonction “a” comme “ajout” ou “add”.
xx@xx $ 7z a monPdf.7z monPdf.pdf
Décompresser le fichier
Pour décompresser un fichier il faut utiliser soit la fonction “e” soit la fonction “x”. Avec “x” les chemins dans l’archive sont conservés lors de l’opération de décompression.
xx@xx $ 7z x monPdf.7z
Listing d’une archive
Pour visualiser le contenu d’une archive : les fichiers ainsi que des données statistiques, il faut utiliser la fonction “l” comme “liste” ou “list”.
xx@xx $ 7z l monPdf.7z 7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,4 CPUs) Listing archive: monPdf.7z -- Path = monPdf.7z Type = 7z Method = LZMA Solid = - Blocks = 1 Physical Size = 4035385 Headers Size = 122 Date Time Attr Size Compressed Name ------------------- ----- ------------ ------------ ------------------------ 2014-03-05 20:36:40 ....A 3989103 4035263 monPdf.pdf ------------------- ----- ------------ ------------ ------------------------ 3989103 4035263 1 files, 0 folders
Swithes
Compresser un fichier en plusieurs volumes
Pour cela il faut utiliser le swith “-v” comme “volume” avec la taille du volume.
xx@xx $ 7z a -v1M monPdf.7z monPdf.pdf xx@xx $ ls -lh ... monPdf.7z.001 ... monPdf.7z.002 ... monPdf.7z.003
Cette commande va générer plusieurs petits fichiers 7z de 1Mo suffixés par le numéro du volume sur 3 chiffres. Les formats des unités possibles sont b (bytes), k (kilo bytes), m (mega bytes) et g (giga bytes). Pour décompresser une archive multi-volumes, il faut demander la décompression du premier volume : 001.
Entrée-sortie standard
Il est possible d’écrire le flux compressé ou décompressé sur la sortie (ou l’entrée) standard. Cela peut être utile pour faire des combinaisons de commandes comme, par exemple, avec le gestionnaire d’archive tar. Pour cela il faut utiliser les swithes “-si” et “-so” :
xx@xx $ tar cf - directory | 7z a -si directory.tar.7z xx@xx $ 7z x -so directory.tar.7z | tar xf -
Protection via un mot de passe
Il est possible de protéger son archive grâce un mot de passe. Pour cela deux switches sont utilisés “-p” pour saisir le mot de passe et “-mhe=on|off” pour savoir s’il faut chiffrer les noms des fichiers de l’archive. Par défaut, ils ne sont pas chiffrés.
xx@xx $7z a -pModeDePasse monPdf.7z monPdf.pdf xx@xx $7z a -pModeDePasse -mhe=on monPdf.7z monPdf.pdf
Il existe d’autres fonctions et switches pour 7-Zip. Je pense avoir fait le tour des plus utiles. Pour plus d’information, la documentation est très bien faite : http://linux.die.net/man/1/7z.