Aller au contenu principal

Travailler avec des archives ZIP dans l'invite de commande Linux

· 2 minutes de lecture
Customer Care Engineer

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