TAR, gZIP, 7-zip et cie
Sommaire
Voir aussi :
- Dans les pages sécurité, le petit outil de sauvegarde sur internet.
- Sur IBM AS/400 - iSeries, Java et QSH — zipage/compression de fichiers.
7-zip en ligne de commande
Diverses considérations
Version batch
Pour utiliser 7-zip en ligne de commande, il faut se servir de l’exécutable 7-z.exe (et non pas 7-zip.exe).
Mode silencieux
Terminer la commande par > nul (à la place de la sortie dans div.txt — cf l’exemple ci-dessous).
Indication du chemin dans l’archive
Dans « l’archive », le nom de fichier sera précédé de l’indication des répertoires dans la mesure où ce sont ces seuls derniers qui ont été spécifiés dans la commande. Exemple :
c:\Progra~1\7-Zip\7z a -tzip h:\SAV\sav%DATE%.zip info/
Avec cette commande, les noms de fichiers seront stockés précédés par info/. Attention : dans la suivante, les noms de fichiers figureront par contre seuls :
c:\Progra~1\7-Zip\7z a -tzip h:\SAV\sav%DATE%.zip info/*
Création automatique d’un auto-extractible
Ce batch a pour but de mettre à disposition un fichier exploitable sur un système de la famille UNIX aussi bien que sous Windows. Il compresse un fichier en gz standard via un tar, puis crée un auto-extractible spécifiquement "Win32". Le nom du fichier est mis dans une variable d’environnement "nfic".
Au lancement de l'autoextractible (".exe"), un prompt demandera dans quel répertoire le(s) fichier(s) seront écrits.
Création d’une somme de contrôle
Exemple avec SHA256 :
Sauvegardes sur le réseau
Ce fichier de commandes envoie des sauvegardes au format 7z sur un lecteur réseau de style Microsoft (s:\). Noter la façon précise dont 7-zip analyse les "wilcards" (« * » n’est pas la même chose que « *.* »). Le troisième fichier sauvegarde est assorti d’un mot-de-passe (argument -p). Le fichier div.txt sert seulement à sortir et éventuellement conserver une trace des traîtements.
Lancement de 7-Zip sur une liste de fichiers.
On peut lancer 7-Zip en batch pour une liste de fichiers écrite dans un simple fichier texte.
- Exemple de commande
- 7z a -tzip archive.zip @listefic.txt
- Fichier listefic.txt avec utilisation d’un groupe "*".
Camouflage de données dans une image.
Un fichier quelconque est compressé/chiffré par le logiciel 7z avec option mot-de-passe. Puis on l'ajoute à la fin d’un fichier image de type jpg/jpeg.
Grâce à l’option B (comme binaire), le fichier créé par l’opération copy reste connu et utilisable sans problème en tant qu’image JPEG ; néanmoins, cette dernière, une fois ouverte par le logiciel de (dé)zipage, le fichier ajouté précédemment est reconnu et peut être extrait tout aussi simplement. Exemple en ligne de commande :
Dans ce dernier exemple, l’option -o permet d’extraire vers un emplacement (répertoire) particulier (ici : temp, à la racine du disque C).
WinZip en ligne de commande
Ou comment utiliser Winzip32 dans des script batch DOS ou assimilés sous MS Windows (adapter les chemins à votre configuration)
Créer-Maj un fichier ZIP avec Winzip
- Syntaxe :
- c:\progra~1\winzip\winzip32 -a (options) (chemin)nom_du_fichier.zip (chemin)nom_du_fichier à ziper (*)
- Code opération (4 possibilités) :
- -a : crée
- -f : rafraichit
- -u : met à jour
- -m : retire
- Options
- -r : prendre aussi le contenu des sous-répertoires
- -p : garde les informations de répertoire
- -ex : compression poussée mais lente
- -en : compression normale (par défaut)
- -ef : compression rapide
- -e0 : compression nulle
- -hs : prendre les fichiers système ou cachés
- -s[mot_de_passe) (**)
Extraction d’un fichier zip
- Syntaxe :
- c:\progra~1\winzip\winzip32 -e (options) nom_du_fichier.zip répertoire_de_sortie
- Code opération :
- -e
- Options
- -o : écrase les fichiers existants sans demander confirmation
- -j : ne pas utiliser les informations de répertoire
- -s[mot_de_passe] (**)
Remarques
- Important : il est indispensable de spécifier les chemins complets y compris la lettre d’unité (ex : c:\)
- (*) On peut indiquer des noms multiples de fichiers à ziper : mettre @ puis un nom de fichier par ligne, sans espace avant ni après
- (**) Le mot de passe peut être mis entre apostrophes
- Les noms longs de fichiers doivent être entre apostrophes
- Une option -min qui doit être indiquée en toute première place permet d’exécuter winzip dans une icone minimale.
Bonus : un petit utilitaire vite fait
Le nom du fichier zip est complèté par la date système. Si le séparateur est « / » (ex.: 14/07/2009), il y aura une erreur à l’exécution. Il faut donc un autre caractère de séparation. Exemple dans Windows XP : Démarrer > Paramètres > Panneau de configuration > Options régionales et linguistiques > Onglet options régionales > Personnaliser > Onglet Date > Séparateur de date : choisir le tiret > Appliquer + Ok (deux fois)
Commandes classiques (tar, gzip…)
Utilisation sous Windows
Rappelons que Cygwin [http://www.dg77.net/tekno/manuel/cygwin.htm] permet d’utiliser les fonction UNIX/LINUX dans les O/S Microsoft.
Archives tar
- Création d’un fichier tar contenant tout un répertoire
- tar -cf nom.tar repertoire/
- Création d’un fichier tar avec le contenu du répertoire en cours
- tar -cf nom.tar *
- Visualiser le contenu d’un fichier tar
- tar -tf nom.tar
- Extraire le contenu d’un fichier tar
- tar -xf nom.tar
- Options de tar
- c : créer
- r : ajouter
- t : afficher
- u : remplacement
- x : extraction
- b : facteur de blocage (maximum 1024)
- f : périphérique de sortie si autre que disquette
- z : données compressées
- k : information suivante en ko
- Exemple :
- tar -cvfbk /dev/rct0 20 125000
gzip/gunzip
gzip sait aussi traiter les fichiers zip, compress et pack. Il connait les extensions .gz -gz, .z, -z, _z et .Z
- Compression d’un fichier
- gzip fichier
- Décompression d’un fichier
- gunzip fichier.gz
- gzip -d fichier.gz
bzip2/bunzip2
Version évoluée de gzip. On trouve ainsi des archives .tar.bz2