Informatique

Utiliser zip et unzip sous Linux sans perdre ses fichiers

Les commandes zip et unzip sont simples, mais certaines options évitent les archives incomplètes, les extractions au mauvais endroit et les scripts fragiles.

6 février 2026 23 min
Utiliser zip et unzip sous Linux sans perdre ses fichiers

Compresser un dossier sous Linux paraît trivial jusqu’au moment où l’archive part à un client, traverse un serveur Windows, revient sur macOS, puis refuse de s’extraire au bon endroit. Les commandes zip et unzip restent très pratiques parce que le format ZIP est compris presque partout, mais elles méritent une méthode plus propre qu’un copier-coller trouvé au hasard.

Pour approfondir ce point, consultez utiliser Canva, qui traite plus précisément de utiliser canva sans perdre la cohérence de marque.

Le bon réflexe n’est pas de retenir toutes les options. Il faut savoir créer une archive lisible, exclure ce qui ne doit pas partir, vérifier le contenu avant extraction, puis décompresser dans un dossier contrôlé. C’est cette routine qui évite les fichiers oubliés, les écrasements et les archives inutilisables.

En bref
  • ✓Installez les paquets zip et unzip, puis vérifiez leur présence avec command -v.
  • ✓Pour un dossier complet, utilisez zip -r archive.zip dossier/ plutôt qu’une sélection manuelle fragile.
  • ✓Listez toujours le contenu avec unzip -l archive.zip avant d’extraire une archive reçue.
  • ✓Extrayez dans un dossier cible avec unzip archive.zip -d destination/ pour éviter de polluer le répertoire courant.
  • ✓Évitez de mettre un mot de passe directement en ligne de commande : il peut apparaître dans l’historique ou la liste des processus.

Cette refonte remplace l’ancien long inventaire d’options par un guide opérationnel. Il vise un usage réel : transfert de fichiers, livraison créative, sauvegarde légère, archive de projet ou diagnostic rapide sur un serveur.

Installer zip et unzip proprement

Commencez par vérifier l’outil, pas par écrire la commande finale. Cela évite de bâtir une procédure autour d’un paquet absent.

Sur beaucoup de distributions, unzip est déjà présent, mais zip peut manquer sur un serveur minimal. Avant de rédiger un script ou de promettre une archive, vérifiez les commandes disponibles. Ce contrôle court évite de découvrir l’absence du paquet au milieu d’un déploiement.

command -v zip
command -v unzip

Si une commande ne répond pas, installez les paquets avec le gestionnaire de votre distribution. Sur Debian ou Ubuntu, le chemin courant reste apt. Sur Fedora, RHEL récent ou distributions proches, utilisez plutôt dnf. Sur d’anciens environnements CentOS, vous verrez encore yum. Cette étape est basique, mais elle doit rester documentée dans une procédure d’équipe : un designer, un développeur front et un administrateur système ne travaillent pas toujours sur la même machine, et nommer explicitement le paquet nécessaire rend la commande reproductible.

sudo apt update
sudo apt install zip unzip

sudo dnf install zip unzip
poste Linux utilisé pour créer et extraire des archives ZIP
Les commandes zip et unzip restent utiles quand il faut partager une archive lisible partout.

Créer une archive ZIP d’un fichier ou d’un dossier

Pour quelques fichiers, la syntaxe tient en une ligne. Le piège vient surtout du nom et du dossier de départ.

Indiquez le nom de l’archive, puis les fichiers à inclure. Si l’extension .zip est absente, l’outil la comprend généralement, mais mieux vaut l’écrire pour rendre le résultat lisible dans un script ou un dossier partagé.

zip livraison.zip brief.pdf visuel.png notes.txt

Pour un dossier complet, l’option importante est -r, pour récursif. Sans elle, vous risquez de créer une archive qui contient seulement le dossier racine ou une partie des éléments attendus. C’est l’une des erreurs les plus fréquentes quand on débute. Une bonne archive porte aussi un nom daté ou versionné : dans un contexte créatif ou projet, évitez les fichiers appelés archive.zip, final.zip ou nouveau.zip. Préférez un nom explicite : client, projet, date, version et éventuellement environnement.

zip -r projet-client.zip projet-client/
zip -r studio-landing-v3-2026-07-27.zip studio-landing/

Exclure les fichiers inutiles ou sensibles

Une archive ZIP est souvent destinée à circuler. Elle ne doit pas embarquer les fichiers temporaires, les caches, les dossiers de dépendances ou les secrets. Avant de compresser, demandez-vous ce que le destinataire doit vraiment recevoir. Une archive propre est une archive qui ne raconte pas toute votre machine.

L’option -x permet d’exclure des motifs. Elle est utile pour éviter node_modules, les dossiers .git, les caches ou les fichiers locaux. Les motifs doivent être adaptés à votre shell : mettez-les entre guillemets pour éviter une expansion trop tôt par le terminal. Ce n’est pas seulement une question de poids : exclure les fichiers sensibles évite d’envoyer une clé API, une configuration locale, un historique Git ou un cache inutile. Dans une petite équipe, cette règle vaut autant pour les livraisons clients que pour les transferts internes.

À lire aussi

Pour compléter cette lecture, Creer une image disque chiffree avec Clonezilla apporte des repères utiles sur creer une image disque chiffree avec clonezilla sans se pieger.

zip -r projet.zip projet/ \
  -x "*/node_modules/*" \
  -x "*/.git/*" \
  -x "*.log" \
  -x "*.env"
Attention aux secrets
Ne mettez jamais volontairement un fichier .env, une clé privée ou un export de base sensible dans une archive ZIP de livraison. Vérifiez le contenu avant l’envoi.

Regarder le contenu avant d’extraire

Ne décompressez pas à l’aveugle. Une archive reçue peut contenir une arborescence propre ou un vrac de fichiers.

Quand vous recevez une archive, ne l’extrayez pas directement dans votre dossier de travail. Listez d’abord son contenu. La commande unzip -l permet de voir les chemins, les noms de fichiers et l’organisation générale sans rien écrire sur le disque.

unzip -l livraison.zip

Ce contrôle répond à une question simple : l’archive contient-elle un dossier racine propre, ou va-t-elle déposer cinquante fichiers dans le répertoire courant ? Si vous voyez des chemins inattendus, des doublons ou une structure confuse, créez un dossier cible et extrayez dedans. Pour vérifier l’intégrité, utilisez ensuite unzip -t. Cette commande teste l’archive sans l’extraire. Elle ne garantit pas que le contenu est légitime, mais elle repère une corruption ou un fichier incomplet avant de lancer un traitement plus long.

unzip -t livraison.zip
Contrôle rapide

Lister, tester, extraire

Ces trois commandes évitent la plupart des mauvaises surprises.

Lister

unzip -l archive.zip

Voir le contenu sans rien écrire.

Tester

unzip -t archive.zip

Contrôler l’intégrité de l’archive.

Extraire

unzip archive.zip -d dossier/

Déposer les fichiers au bon endroit.

Écraser

unzip -o archive.zip

À utiliser seulement si l’écrasement est volontaire.

Extraire dans le bon dossier

La commande la plus sûre utilise l’option -d. Elle indique le dossier de destination et limite les accidents dans le répertoire courant. C’est particulièrement utile sur un serveur, dans un dossier de build, ou quand vous travaillez avec plusieurs archives reçues le même jour.

mkdir -p extraction-livraison
unzip livraison.zip -d extraction-livraison/

Si vous voulez extraire seulement certains fichiers, indiquez le motif après le nom de l’archive. C’est pratique pour récupérer des images, un fichier de configuration ou un seul document sans déplier toute l’archive.

unzip livraison.zip "*.pdf" -d docs-pdf/

Pour éviter d’écraser des fichiers existants, l’option -n peut être utile. À l’inverse, -o écrase sans demander. Cette dernière option doit être réservée aux scripts où vous avez déjà nettoyé la destination. Sinon, un mauvais dossier cible peut remplacer des fichiers de travail.

Protéger une archive sans créer un faux sentiment de sécurité

La commande zip peut créer une archive chiffrée avec -e. L’outil demande alors un mot de passe de façon interactive, ce qui est préférable à un mot de passe passé directement dans la commande. Un secret écrit dans le terminal peut finir dans l’historique shell ou être visible par d’autres processus selon le contexte.

zip -e documents-prives.zip contrat.pdf facture.pdf

Cette protection peut suffire pour un échange ponctuel peu critique, mais elle ne doit pas remplacer une vraie politique de chiffrement pour des données sensibles. Pour des documents confidentiels, juridiques, financiers ou clients, choisissez un outil de chiffrement adapté et un canal de transmission séparé pour le mot de passe.

Le bon réflexe est sobre : si l’archive contient des informations qui ne devraient pas fuiter, vérifiez d’abord si ZIP est vraiment le bon format. La compatibilité est excellente, mais la sécurité opérationnelle dépend aussi du mot de passe, du canal d’envoi et de la durée de conservation.

workflow visuel de création test et extraction d’une archive ZIP sous Linux
Un bon flux ZIP se résume à trois réflexes : créer, vérifier, extraire dans le bon dossier.

Automatiser sans rendre le script fragile

Un script doit échouer clairement. Une archive manquante vaut mieux qu’une archive silencieusement incomplète.

Dans un script, évitez les chemins implicites. Travaillez avec des variables, créez la destination, testez l’existence du dossier source et vérifiez l’archive produite. Une automatisation d’archive ne doit pas seulement “faire un zip” : elle doit échouer clairement si le résultat n’est pas fiable.

#!/usr/bin/env bash
set -euo pipefail

SOURCE="projet-client"
ARCHIVE="projet-client-$(date +%F).zip"

test -d "$SOURCE"
zip -r "$ARCHIVE" "$SOURCE" -x "*/node_modules/*" "*/.git/*"
unzip -t "$ARCHIVE"

Ce script reste volontairement court. Il documente la source, produit un nom daté, exclut les dossiers bruyants et teste l’archive. C’est souvent plus utile qu’un script “intelligent” de cent lignes que personne n’ose modifier. Pour un usage régulier, ajoutez aussi un journal minimal : date, nom de l’archive, taille finale et résultat du test. Ce n’est pas de la bureaucratie ; c’est ce qui permet de comprendre rapidement si une livraison manque, si une archive a été remplacée, ou si une tâche planifiée a cessé de produire un fichier valide.

Pour approfondir ce point, consultez fichier tar.gz, qui traite plus précisément de bien utiliser un fichier tar.gz sous linux sans casser une extraction.

  1. source absente : le script doit s’arrêter avant de créer une archive vide ;
  2. archive déjà présente : choisissez entre écrasement volontaire, suffixe daté ou arrêt explicite ;
  3. test unzip -t échoué : ne transmettez pas l’archive, recréez-la ;
  4. fichiers sensibles : gardez une liste d’exclusion commune à l’équipe ;
  5. destination réseau : copiez seulement après validation locale de l’archive.

Dépanner les erreurs zip et unzip courantes

Regardez d’abord le chemin, puis les droits. Les erreurs ZIP les plus longues à trouver viennent souvent d’un dossier inattendu.

La plupart des erreurs ne viennent pas de ZIP lui-même, mais du chemin, des droits ou de la structure attendue. Une archive créée depuis le mauvais répertoire peut contenir un chemin trop long. Une extraction lancée sans dossier cible peut mélanger les fichiers avec un projet existant. Un script exécuté par cron peut échouer parce que le répertoire courant n’est pas celui que vous imaginez.

Commencez toujours par afficher le chemin et le contenu. Les commandes pwd, ls -lah et unzip -l règlent beaucoup de diagnostics en moins d’une minute. Si l’archive existe mais semble vide, vérifiez le motif utilisé avec -x ou le dossier source passé à zip -r.

Si l’extraction échoue avec un problème de droits, ne relancez pas immédiatement en sudo. Demandez-vous d’abord pourquoi le dossier cible appartient à un autre utilisateur. Extraire une archive avec des droits élevés peut créer des fichiers difficiles à modifier ensuite, ou masquer un problème de déploiement plus simple.

  1. listez l’archive avec unzip -l ;
  2. testez l’intégrité avec unzip -t ;
  3. créez un dossier temporaire vide ;
  4. extrayez avec -d dans ce dossier ;
  5. comparez le résultat attendu avec les fichiers réellement extraits.
Réflexe diagnostic
Quand une extraction se comporte mal, recréez toujours le test dans un dossier vide. Vous saurez si le problème vient de l’archive ou de votre environnement de travail.

Cas d’usage concrets pour une équipe créative ou technique

Dans un studio créatif, ZIP sert souvent à livrer des images, des fichiers sources, des exports audio ou des maquettes. Dans une équipe web, il sert plutôt à transmettre un bundle, un export de thème, une sauvegarde légère ou une archive de logs. Le format est le même, mais le contenu acceptable change selon le destinataire.

Pour une livraison client, privilégiez une archive facile à ouvrir et bien nommée. Pour une sauvegarde interne, privilégiez la reproductibilité : script, date, exclusions et test. Pour un diagnostic technique, compressez seulement les fichiers utiles afin de ne pas exposer toute l’arborescence du serveur.

Cette distinction évite deux excès. Le premier consiste à envoyer une archive énorme remplie de caches, de dépendances et de fichiers temporaires. Le second consiste à trop nettoyer et à oublier un élément nécessaire. Une bonne archive est assez complète pour être utile, mais assez sobre pour rester lisible.

ZIP, tar.gz ou 7z : lequel choisir ?

Le bon format dépend d’abord du destinataire. La meilleure compression ne sert à rien si personne ne peut ouvrir l’archive.

ZIP est le bon choix quand la priorité est la compatibilité. Si l’archive doit être ouverte facilement sur Windows, macOS et Linux, ZIP reste très pratique. Pour des sauvegardes Linux internes, tar.gz ou tar.xz peut être plus naturel, notamment pour conserver certaines métadonnées Unix ou compresser un arbre complet avec des habitudes serveur.

Le format 7z peut offrir une meilleure compression dans certains cas, mais il impose souvent un outil supplémentaire côté destinataire. Pour une livraison créative, un kit média, un export léger ou un échange avec un client non technique, ZIP garde un avantage simple : presque tout le monde sait l’ouvrir.

La routine à retenir

Pour créer une archive propre, partez du dossier à livrer, excluez les éléments inutiles, donnez un nom explicite, puis testez le résultat. Pour extraire une archive reçue, commencez par unzip -l, créez un dossier cible, puis utilisez -d.

Si vous ne retenez qu’une séquence, gardez celle-ci : créer, lister, tester, extraire au bon endroit. Elle est simple, compatible avec la plupart des distributions, et assez robuste pour un usage quotidien en studio, agence, serveur ou poste créatif.

À lire aussi

Pour compléter cette lecture, GrosFichiers : quand l’utiliser pour envoyer de apporte des repères utiles sur grosfichiers : quand l’utiliser pour envoyer de gros fichiers sans compte.

Checklist

Checklist avant d’envoyer une archive ZIP

Ce contrôle court évite les retours inutiles.

  • ✓Le nom de l’archive indique le projet, la date ou la version.
  • ✓Les dossiers inutiles comme node_modules, .git ou les caches sont exclus.
  • ✓Aucun fichier .env, clé privée ou export sensible n’est inclus.
  • ✓Le contenu a été vérifié avec unzip -l.
  • ✓L’intégrité a été testée avec unzip -t.
  • ✓L’archive s’extrait correctement dans un dossier dédié.
  • ✓Le mot de passe, si nécessaire, n’est pas écrit dans la commande ni envoyé avec l’archive.
Questions fréquentes
Lina Rivière
À propos de l'auteur Lina Rivière

Ingénieur en sécurité informatique reconverti dans le journalisme tech, Maxence vulgarise les enjeux de la cybersécurité pour le grand public et les PME. Son expérience e…

À lire aussi

À lire ensuite

La veille utile pour vos choix numériques

Un condensé de veille télécom, cloud, sécurité et outils numériques pour décider plus vite, sans bruit inutile.

Aucun spam. Désinscription en un clic.

La veille utile pour vos choix numériques