Compression et décompression via le Terminal sur macOS

Introduction

macOS intègre nativement de nombreux outils de compression et décompression accessibles depuis le Terminal. Cet article présente les commandes essentielles pour manipuler les formats d'archives les plus courants : ZIP (via ditto), TAR, GZIP, BZIP2, XZ, ainsi que les formats tiers comme 7z et RAR.


ZIP — Le format universel

Le format ZIP est le plus répandu et compatible avec tous les systèmes d'exploitation. Sur macOS, il est recommandé d'utiliser la commande ditto pour créer des archives ZIP, car elle préserve les attributs étendus, les resource forks et les métadonnées spécifiques à macOS (tags Finder, ACLs, etc.).

Créer une archive ZIP avec ditto (recommandé)

Compresser un fichier

ditto -c -k --sequesterRsrc fichier.txt archive.zip

Compresser un dossier

ditto -c -k --sequesterRsrc MonDossier/ archive.zip

(L'option --sequesterRsrc place les resource forks dans un dossier __MACOSX pour compatibilité)

Compresser en préservant les métadonnées macOS intégrées

ditto -c -k --keepParent MonDossier/ archive.zip

(L'option --keepParent conserve le dossier parent dans l'archive)

Extraire une archive ZIP avec ditto

Extraction dans le dossier courant

ditto -x -k archive.zip .

Extraction dans un dossier spécifique

ditto -x -k archive.zip /chemin/destination/

Options principales de ditto pour ZIP

Alternative : commandes zip/unzip

Les commandes zip et unzip sont également disponibles mais ne préservent pas les métadonnées macOS. Elles restent indispensables pour certaines fonctionnalités que ditto ne propose pas.

Compresser un fichier

zip archive.zip fichier.txt

Compresser plusieurs fichiers

zip archive.zip fichier1.txt fichier2.txt fichier3.txt

Compresser un dossier (récursif)

zip -r archive.zip MonDossier/

Créer une archive ZIP protégée par mot de passe

zip -e -r archive.zip MonDossier/

(Le mot de passe sera demandé interactivement — ditto ne supporte pas le chiffrement)

Compresser avec un niveau de compression maximal

zip -9 -r archive.zip MonDossier/

(L'option -9 applique la compression maximale, -0 désactive la compression)

Exclure certains fichiers

zip -r archive.zip MonDossier/ -x "*.DS_Store" -x "__MACOSX/*"

Ajouter des fichiers à une archive existante

zip archive.zip nouveau_fichier.txt

Mettre à jour les fichiers modifiés dans une archive

zip -u archive.zip MonDossier/*

(Ajoute uniquement les fichiers nouveaux ou modifiés depuis la création de l'archive)

Supprimer un fichier d'une archive

zip -d archive.zip fichier_a_supprimer.txt

Lister le contenu sans extraire

unzip -l archive.zip

Extraire dans le dossier courant

unzip archive.zip

Extraire dans un dossier spécifique

unzip archive.zip -d /chemin/destination/

Extraire un fichier spécifique

unzip archive.zip fichier.txt

Écraser les fichiers existants sans confirmation

unzip -o archive.zip

Tester l'intégrité d'une archive

unzip -t archive.zip

TAR — L'archiveur Unix

La commande tar (Tape ARchive) regroupe plusieurs fichiers en une seule archive. Elle est souvent combinée avec des algorithmes de compression comme gzip, bzip2 ou xz.

Options principales de tar

Archive TAR simple (sans compression)

Créer une archive

tar -cvf archive.tar MonDossier/

Extraire une archive

tar -xvf archive.tar

Lister le contenu

tar -tvf archive.tar

TAR.GZ / TGZ (compression gzip)

Format très répandu, bon compromis entre vitesse et taux de compression.

Créer une archive tar.gz

tar -czvf archive.tar.gz MonDossier/

Extraire une archive tar.gz

tar -xzvf archive.tar.gz

TAR.BZ2 (compression bzip2)

Meilleur taux de compression que gzip, mais plus lent.

Créer une archive tar.bz2

tar -cjvf archive.tar.bz2 MonDossier/

Extraire une archive tar.bz2

tar -xjvf archive.tar.bz2

TAR.XZ (compression xz)

Excellent taux de compression, idéal pour les archives de distribution. Plus lent à compresser.

Créer une archive tar.xz

tar -cJvf archive.tar.xz MonDossier/

Extraire une archive tar.xz

tar -xJvf archive.tar.xz

Extraire dans un dossier spécifique

tar -xzvf archive.tar.gz -C /chemin/destination/

Extraire un fichier spécifique

tar -xzvf archive.tar.gz chemin/vers/fichier.txt

GZIP — Compression de fichiers individuels

La commande gzip compresse des fichiers individuels. Par défaut, elle remplace le fichier original par sa version compressée.

Compresser un fichier

gzip fichier.txt

(Crée fichier.txt.gz et supprime fichier.txt)

Compresser en conservant l'original

gzip -k fichier.txt

Compression maximale

gzip -9 fichier.txt

Décompresser un fichier

gunzip fichier.txt.gz

Ou de manière équivalente :

gzip -d fichier.txt.gz

Afficher les informations de compression

gzip -l fichier.txt.gz

BZIP2 — Compression haute performance

bzip2 offre un meilleur taux de compression que gzip au prix d'une vitesse réduite.

Compresser un fichier

bzip2 fichier.txt

Compresser en conservant l'original

bzip2 -k fichier.txt

Décompresser un fichier

bunzip2 fichier.txt.bz2

Ou de manière équivalente :

bzip2 -d fichier.txt.bz2

XZ — Compression maximale

xz offre le meilleur taux de compression parmi les outils standards, au prix d'un temps de compression plus long.

Compresser un fichier

xz fichier.txt

Compresser en conservant l'original

xz -k fichier.txt

Compression maximale

xz -9 fichier.txt

Compression extrême (très lent)

xz -9e fichier.txt

Décompresser un fichier

unxz fichier.txt.xz

Ou de manière équivalente :

xz -d fichier.txt.xz

7-ZIP — Format haute compression (installation requise)

Le format 7z offre un excellent taux de compression. L'outil n'est pas inclus par défaut sur macOS mais s'installe facilement via Homebrew.

Installation

brew install p7zip

Créer une archive 7z

7z a archive.7z MonDossier/

Créer une archive avec mot de passe

7z a -p archive.7z MonDossier/

Compression maximale

7z a -mx=9 archive.7z MonDossier/

Extraire une archive 7z

7z x archive.7z

Extraire dans un dossier spécifique

7z x archive.7z -o/chemin/destination/

Lister le contenu

7z l archive.7z

(7z peut également extraire les formats ZIP, TAR, GZIP, BZIP2, RAR et bien d'autres)


RAR — Format propriétaire (installation requise)

Le format RAR est un format propriétaire populaire. Sur macOS, on peut extraire les archives RAR avec unrar.

Installation

brew install unrar

(Pour créer des archives RAR, installer rar : brew install rar)

Extraire une archive RAR

unrar x archive.rar

Extraire dans un dossier spécifique

unrar x archive.rar /chemin/destination/

Extraire sans conserver l'arborescence

unrar e archive.rar

Lister le contenu

unrar l archive.rar

Tester l'intégrité

unrar t archive.rar

Tableau comparatif des formats

Voici un résumé des caractéristiques de chaque format :


Conclusion

macOS offre nativement tous les outils nécessaires pour gérer les formats d'archives les plus courants. Pour les formats tiers comme 7z et RAR, Homebrew permet une installation simple et rapide des utilitaires requis.

Le choix du format dépend du cas d'usage : ZIP pour la compatibilité, tar.gz pour les environnements Unix, 7z pour la compression maximale, et tar.xz pour la distribution de logiciels.



↑ Haut de page