Comment utiliser la commande Zip dans Linux pour compresser des fichiers et des dossiers

La commande zip dans Linux est probablement la manière la plus simple et intuitive de travailler avec des fichiers ZIP en ligne de commande. Et ce n’est pas tout, le format de fichier ZIP est universel – presque tous les systèmes d’exploitation disposent d’un programme natif capable de travailler avec. Voici toutes les manières d’utiliser cette commande dans n’importe quelle ligne de commande Linux.
Table des matières
- Comment installer Zip dans Linux
- Commande Zip dans Linux : Syntaxe et options
- Comment zipper un fichier dans Linux en utilisant la commande Zip
- Comment zipper un dossier dans Linux en utilisant la commande Zip
- Comment dézipper un fichier en utilisant la commande Zip Linux
- Comment dézipper un dossier Linux avec Zip
- Questions fréquemment posées
Comment installer Zip dans Linux
La dernière version de la commande Linux zip devrait être disponible dans tous les principaux gestionnaires de paquets.
Pour Debian/Ubuntu :
sudo apt install zipPour Arch Linux :
sudo pacman -S zipPour Fedora :
sudo dnf install zipPour Gentoo
sudo emerge --ask zipRemarque : Avant d’installer quoi que ce soit, assurez-vous de mettre à jour votre gestionnaire de paquets d’abord pour obtenir la dernière version de la commande zip. Vous pouvez apprendre comment faire cela et plus encore avec notre feuille de triche sur les gestionnaires de paquets Linux.
Remarque : Avec zip installé, la commande unzip sera également disponible maintenant.
Commande Zip dans Linux : Syntaxe et options
Il existe une syntaxe de base pour la commande zip, qui prend juste deux paramètres : le nom du fichier ZIP de sortie et le nom du fichier d’entrée.
zip [options] 
Leurs positions sont importantes ici. Si vous les inversez, l’ordinateur se demandera pourquoi vous essayez de créer un “file-to-archive.jpg” à partir d’un “zip-file.zip” qui n’existe pas et renverra une erreur.
Quant à la définition des options, vous devrez travailler avec des indicateurs. Il y a 8 indicateurs que vous auriez régulièrement besoin pour un usage normal :
-dsupprimer les entrées archivées sélectionnées dans le fichier ZIP.-qeffectuer la tâche silencieusement sans imprimer quoi que ce soit sur le terminal.-Ttester l’intégrité du fichier ZIP.-echiffrer le fichier.-umettre à jour le fichier ZIP en ajoutant de nouveaux fichiers dans l’archive.-mdéplacer le fichier dans l’archive.-rajouter récursivement des fichiers dans un dossier dans un fichier ZIP.-xexclure les fichiers avec les noms de fichiers sélectionnés.-iinclure uniquement les fichiers avec les noms sélectionnés.
Vous pouvez placer les indicateurs où vous le souhaitez, qu’ils soient avant la sortie, après l’entrée, entre les deux – vous pouvez même utiliser plusieurs indicateurs dispersés tout au long de la ligne dans n’importe quel ordre. Assurez-vous simplement de les taper après avoir tapé zip.
L’exception concerne -x et -i qui nécessitent une nouvelle entrée après les avoir utilisés.
Comment zipper un fichier dans Linux en utilisant la commande Zip
La manière la plus simple d’archiver des fichiers avec la commande zip est de taper zip suivi du nom du fichier ZIP et ensuite du fichier que vous essayez d’archiver ou de compresser. Les indicateurs sont optionnels, vous pouvez donc le faire comme ça pour zipper rapidement n’importe quel fichier sur Linux.
zip archive.zip text_file.txt
Vous pouvez également ajouter d’autres fichiers en les ajoutant après le premier fichier que vous essayiez d’archiver. Et si l’un d’eux a des espaces dans son nom, vous pouvez les entourer de guillemets.
zip archive.zip "file 1.txt" "file 2.txt" "file 3.txt" "file 4.txt"
Utilisation de l’indicateur -d
L’indicateur -d vous permet de supprimer un fichier archivé dans le fichier ZIP de la même manière que vous l’auriez ajouté.
zip -d archive.zip remove_me.jpg
Vous pouvez également l’utiliser pour supprimer des dossiers entiers dans l’archive. Cependant, cela ne fonctionnera pas pour les fichiers en dehors du fichier ZIP (vous ne pouvez donc pas l’utiliser pour supprimer des fichiers après archivage).
Utilisation de l’indicateur -q
L’indicateur -q est destiné à s’assurer que zip ne renverra pas de message lorsqu’il effectue sa tâche.
zip -q archive.zip text_file.txt
C’est utile lorsque vous utilisez la commande zip avec un script. Mais si vous utilisez cela par vous-même, vous voudrez peut-être éviter d’utiliser l’indicateur -q car vous ne saurez pas si le processus d’archivage a réussi sans vérifier avec la commande dir ou ls.
Utilisation de l’indicateur -T
Certains fichiers Certains fichiers ZIP peuvent être corrompus pendant le téléchargement – cela arrive. Vous pouvez utiliser l’indicateur -T pour vérifier l’intégrité afin de savoir si c’est vraiment un fichier cassé ou si vous saisissez simplement le mauvais mot de passe.
zip -T archive.zip
C’est assez important lors du téléchargement de fichiers volumineux comme des images de système d’exploitation. Pour des fichiers comme ceux-ci, vous pouvez les graver avec succès sur une clé USB live et vous retrouver avec des erreurs une fois que vous exécutez le fichier image sur votre machine. Il en va de même pour les vidéos et la musique qui ont des parties coupées à des endroits aléatoires.
Utilisation de l’indicateur -u
Si vous souhaitez ajouter un nouveau fichier dans un fichier ZIP existant, vous pouvez utiliser l’indicateur -u.
zip -u archive.zip new_file.txt
Vous pouvez également ajouter d’autres fichiers en les ajoutant après le premier fichier, comme si vous utilisiez la commande zip normalement pour créer une nouvelle archive ZIP.
Utilisation de l’indicateur -e
Si vous souhaitez ajouter un mot de passe, vous devez utiliser l’indicateur -e. Cette option applique uniquement le mot de passe et le chiffrement au fichier que vous ajoutez dans le fichier ZIP dans sa commande, donc les fichiers précédents resteront non chiffrés si vous utilisez cela avec l’indicateur -u.
zip -e archive.zip text_file.txt
La grande chose à propos des fichiers ZIP est que le processus de création de mot de passe ajoute également une couche de protection supplémentaire en plus de donner accès. Votre mot de passe fonctionne comme une signature numérique qui est utilisée pour déchiffrer une couche de chiffrement supplémentaire ajoutée dans le fichier ZIP.
Utilisation de l’indicateur -m
Enfin, l’indicateur -m supprime le fichier original après qu’il ait été archivé dans le fichier ZIP. Pensez à cela comme à l’automatisation d’une étape supplémentaire afin que vous n’ayez pas à le retirer vous-même.
zip -m archive.zip text_file.txt
Une chose importante à retenir cependant : l’indicateur -m supprime les fichiers d’une manière qui rend impossible leur récupération sans utiliser un outil de restauration de fichiers. Assurez-vous donc de garder une sauvegarde, ou retirez simplement les choses manuellement en utilisant la commande rm à la place.
Comment zipper un dossier dans Linux en utilisant la commande Zip
Si vous utilisez la commande zip sur un dossier brut, vous vous retrouverez avec un dossier qui ne contient aucun fichier. Chaque fois que vous essayez de zipper un dossier, vous devez utiliser l’indicateur -r.
Utilisation de l’indicateur -r
L’indicateur -r, alias récursif, parcourt chaque contenu d’un dossier et de ses sous-dossiers et archive chacun d’eux dans le fichier ZIP. Il conservera également la structure actuelle de chaque sous-dossier.
zip -r archive.zip my_folder
Cela fonctionne également si vous souhaitez archiver tout ce qui se trouve dans le dossier actuel. Remplacez simplement my_folder par ./ et cela changera sa cible vers tout ce qui se trouve dans le dossier actuel.
zip -r archive.zip ./
De plus, vous pouvez utiliser cela avec l’indicateur -u pour inclure des dossiers et leur contenu dans un fichier ZIP existant.
zip -r -u archive.zip another_folder
Utilisation de l’indicateur -i
L’indicateur -i vous permet de choisir un fichier spécifique que vous souhaitez inclure et exclut tout le reste dans un dossier.
zip -r archive.zip my_folder -i my_folder/a_subfolder/file1.txt
En utilisant des astérisques * avec l’indicateur -i, vous pouvez sélectionner des fichiers qui partagent des noms similaires mais pourraient se terminer par quelque chose comme un numéro. Par exemple, taper *.txt fera en sorte que la commande zip inclue tous les fichiers TXT dans le dossier.
zip -r archive.zip my_folder -i "*.txt"
Utilisation de l’indicateur -x
L’indicateur -x vous permet d’exclure uniquement certains fichiers tout en zippant un dossier entier.
zip -r archive.zip my_folder -x my_folder/dont_zip.jpg
De plus, l’indicateur -x remplace l’indicateur -i lorsqu’ils sont utilisés ensemble. De cette façon, vous pouvez, par exemple, dire à zip d’inclure tous les autres fichiers du même type sauf le fichier que vous ne voulez pas qu’il zippe.
zip -r archive.zip my_folder -i "*.txt" -x my_folder/dont_zip.txt
Comment dézipper un fichier en utilisant la commande Zip Linux
Le programme unzip est un programme partenaire du programme zip par défaut. Il extrait des fichiers de votre archive ZIP.
Pour utiliser ce programme, vous devez simplement taper unzip et le nom du fichier de l’archive ZIP.
unzip archive.zip
En utilisant la commande unzip, vous dézippez le fichier ZIP dans le répertoire de travail actuel, peu importe d’où vient le fichier ZIP.
Pour extraire ou dézipper un fichier Linux dans un fichier ZIP afin que les autres restent non extraits, vous pouvez ajouter son nom de fichier après la partie où vous tapez l’archive.
unzip archive.zip file.txt
Comment dézipper un dossier Linux avec Zip
Bien que unzip extraira normalement les dossiers situés dans une archive ZIP, il peut être assez difficile de le faire extraire uniquement certains dossiers. Mais cela ne signifie pas que c’est impossible.
unzip archive.zip my_folder/a_subfolder/*
Cette ligne de code extrait tout ce qui se trouve dans a_subfolder.
De plus, lorsque vous dézippez un dossier, le programme unzip crée un nouveau dossier dans le répertoire de travail actuel et y décompresse ses dossiers. Si un dossier existe avec le même nom (ou qu’une version précédente du dossier est présente), il demande s’il est acceptable de remplacer le fichier actuellement dans le dossier.
Questions fréquemment posées
Que fait la commande gzip dans Linux ?
La commande Linux gzip est un outil que vous pouvez utiliser pour stocker et compresser des fichiers dans un fichier GZ.
Le ZIP est-il meilleur que le TAR ?
D’une certaine manière, le ZIP est meilleur que le TAR car les fichiers ZIP peuvent compresser, chiffrer et protéger leur contenu. Cependant, les fichiers TAR sont destinés à combiner des fichiers en un seul fichier pour un transfert de fichiers plus rapide, tandis que les fichiers ZIP (bien qu’ils soient utilisés pour le même but) sont conçus avec ces fonctionnalités supplémentaires à l’esprit.
Le TAR est-il plus rapide que le ZIP ?
Les fichiers TAR ne compressent ni ne chiffrent leur contenu. Donc, si vous recherchez un moyen plus rapide de combiner une grande quantité de fichiers en une seule archive facile à transférer, vous constaterez des gains avec TAR par rapport à ZIP. Cependant, vous pourriez trouver plus facile de transférer un fichier ZIP plutôt qu’un fichier TAR car les fichiers ZIP ont tendance à être beaucoup plus petits que les fichiers TAR.
Crédit image : Unsplash, Captures d’écran par Terenz Jomar Dela Cruz