Tutoriel sur la commande zip de Linux pour les débutants (5 exemples)

Comme son nom l’indique, la commande zip vous permet de créer des archives. Dans ce tutoriel, nous allons discuter des bases de zip en utilisant quelques 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 d’empaqueter et de compresser (archiver) des fichiers. Voici sa syntaxe :

zip 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 Q&A 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 facile – 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

Donc l’idée derrière cette commande est de compresser les trois fichiers .txt dans un fichier .zip. Voici la sortie que cette commande a produite:

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 actuel.

Q2. Comment supprimer un fichier d’une archive (compressée) ?

Cela peut être fait en utilisant l’option de ligne de commande -d. Par exemple, pour supprimer le fichier3.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 notifié de l’opération de suppression par le message suivant :

deleting: file3.txt

Q3. Comment ajouter de nouveaux fichiers à un fichier compressé (archive) existant ?

De même que l’opération de suppression est effectuée par -d, dans le cas où vous voulez 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 pour 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 ait créé un fichier compressé. Cependant, si vous le souhaitez, vous pouvez forcer l’outil à supprimer les fichiers originaux. 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 en sortie tout en supprimant tous les fichiers .txt dans le processus.

Q5. Quelles sont les autres options utiles de la commande zip ?

Une option de ligne de commande dont vous aurez probablement besoin est -x. Elle est utilisée lorsque vous voulez laisser certains fichiers ne pas être compressés. Donc, ce que vous devez faire, c’est spécifier -x suivi du nom du fichier compressé suivi des noms des fichiers que vous voulez exclure.

Par exemple :

zip files.zip file2.txt

Cette commande compressera tous les fichiers présents dans le répertoire de travail actuel, à l’exception de fichier2.txt.

Poursuivant, l’autre option de ligne de commande dont vous aurez probablement besoin est -r. Elle vous permet de compresser récursivement, ce qui est nécessaire lorsque vous voulez compresser des répertoires (y compris bien sûr leur contenu).

Conclusion

Nous n’avons fait qu’effleurer la surface ici car la commande zip offre également beaucoup d’autres fonctionnalités. Une fois que vous avez fini de pratiquer les exemples que nous avons abordés ici, vous pouvez vous diriger vers la page de manuel de l’outil pour en savoir plus.

Tutoriel sur la commande zip sous Linux pour les débutants (5 exemples)

.