Comme son nom l'indique, la commande zip permet de créer des archives. Dans ce didacticiel, nous aborderons les bases de zip à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 18.04 LTS.
Commande zip Linux
La ligne de commande zip Linux vous permet de conditionner et de compresser (archiver) des fichiers. Voici sa syntaxe :
zip [OPTIONS] archive_name list_of_files
Et voici comment la page de manuel de l'outil l'explique :
zip is a compression and file packaging utility for Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP,
Minix, Atari, Macintosh, Amiga, and Acorn RISC OS.
It is analogous to a combination of the Unix commands tar(1) and compress(1) and is compatible
with PKZIP (Phil Katz's ZIP for MSDOS systems).
Voici quelques exemples de style questions-réponses qui devraient vous donner une meilleure idée du fonctionnement de la commande zip.
Q1. Comment utiliser la commande zip ?
L'utilisation de base est assez simple - il suffit de fournir le nom du fichier zip et les fichiers à compresser en entrée. Voici un exemple :
zip files.zip file1.txt file2.txt file3.txt
L'idée derrière cette commande est donc de compresser les trois fichiers .txt dans un fichier .zip. Voici le résultat produit par cette commande :
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
adding: file3.txt (stored 0%)
Et un fichier nommé 'files.zip' a été produit dans le répertoire de travail courant.
Q2. Comment supprimer un fichier d'un fichier d'archive (compressé) ?
Cela peut être fait en utilisant l'option de ligne de commande -d. Par exemple, pour supprimer file3.txt du fichier files.zip, j'ai exécuté la commande zip de la manière suivante :
zip -d files.zip file3.txt
L'outil m'a informé de l'opération de suppression via le message suivant :
deleting: file3.txt
Q3. Comment ajouter de nouveaux fichiers à un fichier compressé (archive) existant ?
Tout comme l'opération de suppression est effectuée via -d, si vous souhaitez ajouter de nouveaux fichiers à un fichier compressé existant, vous pouvez le faire en utilisant l'option de ligne de commande -u.
Voici un exemple :
zip -u files.zip file3.txt file4.txt
Voici les messages que cette commande a produit en sortie :
adding: file3.txt (stored 0%)
adding: file4.txt (stored 0%)
Q4. Comment faire en sorte que zip supprime les fichiers originaux après l'archivage ?
Par défaut, les fichiers originaux ne sont pas supprimés même après que zip crée un fichier compressé. Cependant, si vous le souhaitez, vous pouvez forcer l'outil à supprimer les fichiers d'origine. Cela peut être fait en utilisant l'option de ligne de commande -m.
Voici un exemple :
zip -m files.zip file1.txt file2.txt file3.txt file4.txt
Cette commande a créé files.zip dans la sortie tout en supprimant tous les fichiers .txt du processus.
Q5. Quelles sont les autres options de commande zip utiles ?
Une option de ligne de commande dont vous aurez probablement besoin est -x. Il est utilisé lorsque vous souhaitez empêcher la compression de certains fichiers. Vous devez donc spécifier -x suivi du nom du fichier compressé suivi des noms des fichiers que vous souhaitez exclure.
Par exemple :
zip files.zip file2.txt
Cette commande compressera tous les fichiers présents dans le répertoire de travail actuel, sauf file2.txt.
Ensuite, l'autre option de ligne de commande dont vous pourriez avoir besoin est -r. Il vous permet de compresser de manière récursive, ce qui est nécessaire lorsque vous souhaitez compresser des répertoires (y compris bien sûr leur contenu).
Conclusion
Nous venons d'effleurer la surface ici car la commande zip offre également de nombreuses autres fonctionnalités. Une fois que vous avez terminé de pratiquer les exemples dont nous avons parlé ici, vous pouvez vous rendre sur la page de manuel de l'outil pour en savoir plus.