Compresser et décompresser un fichier sous Linux
Vous travaillez sous Linux et vous devez régulièrement compresser ou décompresser des fichiers ? Que ce soit pour envoyer des données par email, les archiver ou économiser de l’espace disque, les commandes de compression font partie du quotidien. Ce tutoriel vous explique les deux formats les plus courants : tar.gz (l’archive compressée Unix par excellence) et zip (universel, compatible Windows). Chaque commande est illustrée par un exemple copier-coller. Nous avons volontairement simplifié les options pour que vous puissiez les utiliser immédiatement.
Prérequis et précautions
- Vous devez avoir les droits d’écriture sur le répertoire où se trouve le fichier à compresser ou à extraire.
- Avant toute opération de compression ou décompression, faites une sauvegarde de vos fichiers importants. Une commande mal tapée peut écraser un fichier existant.
- Les commandes de cet article s’exécutent dans un terminal (console). Pas besoin d’être root pour les commandes de base, sauf indication contraire.
Compresser et décompresser avec gzip / gunzip
gzip compresse un fichier (pas un dossier). Le fichier compressé porte l’extension .gz. Le fichier original est remplacé à moins d’utiliser l’option -k.
# Compresser mon_fichier.txt (remplace l'original par mon_fichier.txt.gz)
gzip mon_fichier.txt
# Compresser en conservant l'original
gzip -k mon_fichier.txt
# Décompresser (remplace le .gz par l'original)
gunzip mon_fichier.txt.gz
# Décompresser en conservant le .gz
gunzip -k mon_fichier.txt.gz
Attention : si vous utilisez gzip sans option, le fichier original disparaît. Pour le garder, ajoutez -k (keep).
Archiver et compresser avec tar (fichiers .tar.gz ou .tgz)
Le format tar.gz est la combinaison de tar (qui regroupe des fichiers/dossiers sans compression) et de gzip (qui compresse le tout). C’est le standard sous Linux pour distribuer des archives.
# Créer une archive tar.gz d'un dossier (ici mon_dossier)
tar -czvf archive.tar.gz mon_dossier/
# Extraire une archive tar.gz dans le répertoire courant
tar -xzvf archive.tar.gz
# Extraire dans un dossier spécifique
tar -xzvf archive.tar.gz -C /chemin/vers/dossier
Explication des options :
c: créer une nouvelle archivex: extraire l’archivez: compresser/décompresser avec gzipv: mode verbeux (affiche les fichiers traités)f: spécifier le nom du fichier archive
Précautions : vérifiez toujours le contenu d’une archive avant de l’extraire, surtout si elle provient d’une source inconnue. Utilisez tar -tzvf archive.tar.gz pour lister son contenu.
Compresser et décompresser avec zip / unzip
Le format zip est très répandu, notamment pour l’échange avec Windows ou macOS. Il compresse les fichiers individuellement et peut inclure plusieurs fichiers/dossiers.
# Compresser un fichier seul
zip archive.zip mon_fichier.txt
# Compresser plusieurs fichiers
zip archive.zip fichier1.txt fichier2.txt dossier/
# Compresser récursivement un dossier
zip -r archive.zip mon_dossier/
# Décompresser un zip
unzip archive.zip
# Décompresser dans un dossier spécifique
unzip archive.zip -d /chemin/vers/dossier
Note : si vous ne spécifiez pas l’option -r (recursive), les dossiers ne seront pas inclus dans l’archive.
Questions fréquentes
Quelle est la différence entre .tar.gz et .zip ?
.tar.gz est natif de Linux et offre un meilleur taux de compression, mais n’est pas reconnu nativement par Windows. .zip est universel et permet de compresser fichier par fichier (on peut extraire un seul élément sans décompresser tout le zip).
Que faire si la commande zip ou unzip n’est pas trouvée ?
Ces outils ne sont pas toujours installés par défaut. Sur Ubuntu/Debian, installez-les avec : sudo apt install zip unzip. Sur CentOS/RHEL : sudo yum install zip unzip.
🔹 Comprendre sudo sous Linux sans se prendre la tête
🔹 Télécharger Linux Mint : Cinnamon, MATE ou Xfce ?
—
Ces quelques commandes couvrent l’essentiel pour compresser et décompresser des fichiers sous Linux. Pour aller plus loin, vous pouvez consulter les pages man (par exemple man tar). N’hésitez pas à tester ces exemples dans un dossier de test pour vous familiariser sans risque.
Ingénieur informaticien indépendant depuis plus de vingt ans, Philippe Banquet est spécialisé dans l’administration Linux/Unix, le scripting et le développement en C, Perl et shell. Auteur technique et formateur, il privilégie une approche terrain, claire et pédagogique pour expliquer les systèmes, les réseaux et les environnements professionnels.









Commentaires
Laisser un commentaire