Travailler avec des archives ZIP dans l'invite de commande Linux
ZIP est l'un des formats d'archivage les plus populaires. Contrairement à un PC domestique qui vous permet de travailler avec de telles archives dans une interface graphique pratique, la plupart des serveurs n'offrent pas une telle opportunité. Assurez-vous donc de connaître les commandes de base pour effectuer les tâches typiques via une invite de commande.
Si vous travaillez également avec des archives TAR ou RAR, consultez nos guides sur la manière de les gérer dans la ligne de commande Linux.
Avant de commencer
Assurez-vous d'avoir tous les paquets requis installés.
Pour Debian et Ubuntu :
sudo apt update && sudo apt install zip unzip
Pour CentOS et Rocky Linux/AlmaLinux :
sudo yum makecache && sudo yum install zip unzip
Comment créer une archive ZIP
Utilisez la commande suivante pour créer une archive :
zip -r archive_name.zip /chemin/du/repertoire/
L'option -r est utilisée pour ajouter récursivement tous les fichiers et sous-répertoires à l'archive.
Comment extraire une archive ZIP
Pour extraire une archive zip, vous pouvez utiliser la commande suivante :
unzip archive.zip
Le contenu sera décompressé dans le répertoire courant par défaut. Si vous souhaitez décompresser l'archive dans un autre emplacement, utilisez l'option -d.
Par exemple :
unzip backup.zip -d /home/user/backup/
Options utiles supplémentaires
-l— afficher la liste des fichiers dans l'archive sans la décompresser :
unzip -l archive.zip
-u— mettre à jour un fichier dans l'archive :
zip -u archive.zip nouveau_fichier.txt
Considérez les détails suivants lors de la mise à jour d'un fichier dans l'archive :
- Si l'archive ne contient pas nouveau_fichier.txt, il sera ajouté.
- Si l'archive contient déjà un fichier du même nom, mais que son contenu sur le disque a changé, alors ce fichier sera mis à jour vers la dernière version.
Vous pouvez également utiliser cette commande pour mettre à jour plusieurs fichiers à la fois, par exemple :
zip -u archive.zip *.txt
Cette commande mettra à jour tous les fichiers .txt de l'archive et en ajoutera de nouveaux s'ils n'ont pas été ajoutés auparavant.
-e— définir un mot de passe pour l'archive :
zip -e archive.zip /chemin/fichier