Vous devez sauvegarder un dossier de configuration, transférer un projet à un collègue ou libérer de l'espace disque. Sous Linux, deux gestes couvrent ces besoins : archiver (regrouper plusieurs fichiers en un seul) et compresser (réduire la taille). Ce guide vous montre les commandes essentielles : tar, gzip et zip.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Distinguer archivage et compression
- Créer et extraire une archive avec
tar - Compresser un fichier avec
gzip - Combiner archivage et compression avec
tar -czvf - Utiliser
zip/unzippour le partage multiplateforme
Archiver vs compresser : quelle différence ?
Section intitulée « Archiver vs compresser : quelle différence ? »| Opération | Ce que ça fait | Outil principal |
|---|---|---|
| Archiver | Regroupe plusieurs fichiers en un seul fichier | tar |
| Compresser | Réduit la taille d'un fichier | gzip, bzip2, xz |
En pratique, on fait souvent les deux en même temps : tar archive + gzip compresse → un fichier .tar.gz.
tar, archiver des fichiers
Section intitulée « tar, archiver des fichiers »tar (Tape Archive) regroupe des fichiers et répertoires dans un seul fichier .tar. Il conserve l'arborescence, les permissions et les dates.
Créer une archive
Section intitulée « Créer une archive »L'ordre des arguments compte : le nom de l'archive vient juste après -f,
et les fichiers à archiver ensuite. Inverser les deux fait écraser votre dossier
source par une archive, c'est l'erreur classique du débutant avec tar. Le
tableau qui suit détaille les trois options de la commande ; retenez surtout que
-f est celle qui manque le plus souvent, et que sans elle tar écrit sur la
sortie standard.
tar -cvf sauvegarde.tar /home/bob/projets/| Option | Signification |
|---|---|
-c | Créer une archive |
-v | Verbose, afficher les fichiers traités |
-f | Fichier, le nom de l'archive à créer |
Lister le contenu d'une archive
Section intitulée « Lister le contenu d'une archive »Avant d'extraire, vérifiez ce que l'archive contient :
tar -tvf sauvegarde.tarExtraire une archive
Section intitulée « Extraire une archive »Une seule lettre change par rapport à la création : -x remplace -c. Tout le
reste de la commande est identique, ce qui explique qu'une faute de frappe
puisse détruire une archive au lieu de l'ouvrir. L'extraction dépose les
fichiers dans le répertoire courant, pas à leur emplacement d'origine : si
vous lancez la commande depuis votre home, l'arborescence de l'archive
apparaît là.
tar -xvf sauvegarde.tar| Option | Signification |
|---|---|
-x | Extraire |
Pour extraire dans un répertoire précis :
tar -xvf sauvegarde.tar -C /tmp/restauration/gzip, compresser un fichier
Section intitulée « gzip, compresser un fichier »gzip compresse un fichier unique. Il remplace le fichier original par sa version compressée .gz :
gzip fichier.logLe fichier fichier.log.gz est créé et fichier.log disparaît.
Conserver l'original
Section intitulée « Conserver l'original »Le remplacement du fichier source est le comportement par défaut de gzip, et
il surprend systématiquement la première fois. Sur un fichier de log en cours
d'analyse, ou sur un dump que vous voulez garder lisible, ajoutez -k :
gzip -k fichier.logL'option -k (keep) conserve le fichier d'origine. Vous vous retrouvez alors
avec fichier.log et fichier.log.gz, donc avec l'espace disque des deux.
Décompresser
Section intitulée « Décompresser »Deux commandes font exactement la même chose. Sur GNU gzip, gunzip n'est pas
un programme distinct : c'est un script shell qui se termine par
exec gzip -d "$@", vous pouvez le lire avec cat $(command -v gunzip). Dans
les deux cas, le fichier .gz disparaît au profit du fichier décompressé, avec
la même logique de remplacement qu'à la compression.
gunzip fichier.log.gzOu de façon équivalente :
gzip -d fichier.log.gzCombiner archivage et compression
Section intitulée « Combiner archivage et compression »En pratique, on combine tar et un compresseur en une seule commande. C'est le cas le plus courant.
Créer une archive compressée .tar.gz
Section intitulée « Créer une archive compressée .tar.gz »tar -czvf sauvegarde.tar.gz /home/bob/projets/L'option -z active la compression gzip. C'est la combinaison la plus
répandue sous Linux, au point que .tar.gz et son abréviation .tgz désignent
la même chose. Le gain de temps est net face aux deux formats suivants, pour un
fichier un peu plus gros.
Créer une archive .tar.bz2
Section intitulée « Créer une archive .tar.bz2 »tar -cjvf sauvegarde.tar.bz2 /home/bob/projets/L'option -j active la compression bzip2. Ce format compresse mieux que
gzip mais reste lent à la décompression, et il n'est plus le choix par défaut
de personne : xz et zstd l'ont largement remplacé. Vous le rencontrerez
surtout sur des archives anciennes qu'il faut savoir ouvrir.
Créer une archive .tar.xz
Section intitulée « Créer une archive .tar.xz »tar -cJvf sauvegarde.tar.xz /home/bob/projets/L'option -J (majuscule) active la compression xz. Attention à la casse :
-j minuscule est bzip2, -J majuscule est xz, et les deux se ressemblent dans
une ligne de commande relue vite. xz produit les archives les plus petites des
trois, au prix d'un temps de compression et d'une consommation mémoire
nettement supérieurs sur les gros volumes.
Extraire selon le format
Section intitulée « Extraire selon le format »À la lecture, GNU tar détecte seul le compresseur en inspectant les
premiers octets du fichier : tar -xvf sauvegarde.tar.gz fonctionne sans -z.
Les lettres ci-dessous restent utiles pour deux raisons : elles documentent le
format attendu, et elles font échouer la commande si le fichier n'est pas celui
qu'on croit, ce qui vaut mieux qu'une extraction silencieuse du mauvais type.
tar -xzvf sauvegarde.tar.gz # gziptar -xjvf sauvegarde.tar.bz2 # bzip2tar -xJvf sauvegarde.tar.xz # xzRécapitulatif des options tar
Section intitulée « Récapitulatif des options tar »Trois lettres à retenir, et un critère pour choisir : le temps de compression
contre la taille finale. Pour une sauvegarde quotidienne rejouée souvent,
-z reste le bon compromis. Pour une archive écrite une fois et conservée
longtemps, -J gagne nettement en taille. Si vous ne voulez pas mémoriser ce
tableau, -a déduit la bonne option de l'extension que vous donnez.
| Option | Compression | Extension |
|---|---|---|
-z | gzip (rapide) | .tar.gz |
-j | bzip2 (meilleur ratio) | .tar.bz2 |
-J | xz (meilleur ratio, plus lent) | .tar.xz |
zip / unzip, compatibilité multiplateforme
Section intitulée « zip / unzip, compatibilité multiplateforme »Le format ZIP est reconnu par Windows, macOS et Linux. C'est le format à privilégier quand vous partagez des fichiers avec des utilisateurs sur d'autres systèmes.
Créer une archive ZIP
Section intitulée « Créer une archive ZIP »Contrairement à tar, zip compresse chaque fichier séparément avant de
les assembler. Le taux de compression est donc un peu moins bon sur un lot de
petits fichiers similaires, mais l'extraction d'un seul élément ne demande pas
de relire toute l'archive. Autre différence de comportement : zip n'est pas
récursif par défaut. Un dossier passé sans -r n'ajoute que l'entrée du
dossier lui-même, sans son contenu, et unzip -l affiche alors une archive à
un seul élément de 0 octet.
zip archive.zip fichier1.txt fichier2.txtPour archiver un dossier entier (récursif) :
zip -r archive.zip dossier/Extraire une archive ZIP
Section intitulée « Extraire une archive ZIP »unzip extrait dans le répertoire courant et vous demande confirmation
avant d'écraser un fichier existant, fichier par fichier. Sur une archive
volumineuse, cette invite interactive bloque un script : dans ce cas, -o
écrase sans poser de question et -n ne remplace jamais rien.
unzip archive.zipPour extraire dans un répertoire précis :
unzip archive.zip -d /tmp/extraction/Lister le contenu
Section intitulée « Lister le contenu »Le réflexe est le même qu'avec tar -tvf : regarder avant d'extraire. La sortie
donne pour chaque entrée sa taille décompressée, sa date et son chemin.
Surveillez ce chemin : une entrée en ../ ou en chemin absolu signale une
archive douteuse. unzip refuse de sortir du répertoire courant, il affiche
alors skipped "../" path component(s) ou stripped absolute path spec, mais
une archive qui déclenche ces messages mérite qu'on cherche d'où elle vient.
unzip -l archive.zipInstaller zip/unzip
Section intitulée « Installer zip/unzip »Ni zip ni unzip ne font partie des installations minimales sur RHEL et
dérivés, alors que tar et gzip y sont toujours présents. Vérifiez leur
présence avec command -v zip avant d'écrire un script qui en dépend, sinon
l'échec ne surviendra qu'en production, sur le serveur le moins fourni.
sudo apt install zip unzipsudo dnf install zip unzipQuelle commande choisir ?
Section intitulée « Quelle commande choisir ? »Le choix se joue sur un seul critère : qui va lire l'archive. Entre machines
Linux, tar conserve permissions, liens symboliques et arborescence, c'est le
format à utiliser pour une sauvegarde restaurable. Dès qu'un poste Windows ou
macOS entre dans la boucle, zip s'ouvre d'un double-clic sans rien installer.
Entrez dans le tableau par la ligne qui décrit votre situation, la commande de
droite est directement copiable.
| Besoin | Commande |
|---|---|
| Sauvegarder un dossier (Linux ↔ Linux) | tar -czvf archive.tar.gz dossier/ |
| Partager avec Windows/macOS | zip -r archive.zip dossier/ |
| Compresser un seul fichier (log, dump) | gzip fichier |
Extraire un .tar.gz | tar -xzvf archive.tar.gz |
Extraire un .zip | unzip archive.zip |
Dépannage
Section intitulée « Dépannage »Les messages de tar sont laconiques et deux d'entre eux ne sont pas des
erreurs. Removing leading '/' from member names est une protection, pas un
échec : tar retire le / initial pour qu'une extraction distraite n'écrase
pas /etc sur la machine de destination. En revanche, tout message contenant
Broken pipe ou Child returned status signale un compresseur absent, et
l'archive produite est inutilisable même si elle existe sur le disque.
| Problème | Cause probable | Solution |
|---|---|---|
tar: Cannot open: No such file or directory | Chemin incorrect | Vérifier le chemin avec ls |
tar: Removing leading '/' from member names | Chemin absolu stocké | Comportement normal, sécurité pour éviter l'écrasement |
gzip: fichier already has .gz suffix | Fichier déjà compressé | Le fichier est déjà en .gz, pas besoin de re-compresser |
unzip: cannot find or open | Fichier absent ou mauvais nom | Vérifier avec ls le nom exact |
| Archives très volumineuses trop lentes | Compression xz sur gros dossier | Utiliser gzip (-z) qui est plus rapide |
Permission denied à l'extraction | Pas le droit d'écrire | Extraire dans /tmp ou utiliser sudo |
Mettre en pratique
Section intitulée « Mettre en pratique »Les options de tar se confondent vite tant qu'on ne les a pas tapées soi-même. Dans ce lab, vous créez des archives gzip et bzip2, vous listez leur contenu avec -tvf et vous extrayez un seul fichier vers un répertoire cible : exactement les gestes d'une restauration réelle.
Contrôle de connaissances
Section intitulée « Contrôle de connaissances »Vérifiez que l'essentiel de ce guide est acquis. Les questions portent uniquement sur ce qui vient d'être expliqué ici.
Contrôle de connaissances
Validez vos connaissances avec ce quiz interactif
Informations
- Le chronomètre démarre au clic sur Démarrer
- Questions à choix multiples, vrai/faux et réponses courtes
- Vous pouvez naviguer entre les questions
- Les résultats détaillés sont affichés à la fin
Lance le quiz et démarre le chronomètre
Vérification
(0/0)Profil de compétences
Quoi faire maintenant
Ressources pour progresser
Des indices pour retenter votre chance ?
Nouveau quiz complet avec des questions aléatoires
Retravailler uniquement les questions ratées
Retour à la liste des certifications
À retenir
Section intitulée « À retenir »tararchive (regroupe),gzipcompresse (réduit la taille).tar -czvffait les deux en une seule commande, c'est le cas le plus courant.zipest le format universel pour le partage multiplateforme.- Toujours vérifier le contenu d'une archive avec
-tvfouunzip -lavant d'extraire. - Pour la compression seule d'un fichier :
gzip fichier(etgunzippour décompresser).
Pour aller plus loin
Section intitulée « Pour aller plus loin »- rsync : synchroniser et sauvegarder des fichiers : transférer une arborescence sans passer par une archive intermédiaire.
- Contrôler l'espace disque et les inodes : identifier ce qui remplit un disque avant de décider quoi archiver.