Compresser un répertoire sous Linux

Pour compresser un répertoire sous Linux au format gzip, vous pouvez utiliser la commande tar en combinaison avec gzip.

Voici les options à utiliser :

  • c : Créer une archive.
  • z : Utiliser gzip pour compresser.
  • v : Afficher les fichiers pendant l'opération (facultatif, mais utile pour voir la progression).
  • f : Spécifier le nom du fichier d'archive.

Exemple

tar -czvf monarchive.tar.gz /chemin/vers/lerepertoire/acompresser
Lien vers le fichier : cliquez ici Copier le code

En fait le fait de faire un .tar.gz signifie que l'on fait la compression en 2 passes :

  • la première utilise tar qui "emballe" plusieurs fichiers et répertoires en un seul fichier conteneur, sans compression. Cela préserve la hiérarchie des répertoires, les permissions, les propriétaires, les horodatages, etc.
  • gzip lui compresse cet unique fichier

Pour compresser uniquement les fichiers qui commencent par 16, 17 ou 18 qui sont dans le répertoire Nom_repertoire

tar -czvf Nom_repertoire.tar.gz ./Nom_repertoire/{16*,17*,18*}
Lien vers le fichier : cliquez ici Copier le code

Vous pouvez également compresser un répertoire et ses fichiers avec zip qui est gratuit et open-source (au contraire de Winzip sous Windows) tout comme 7-Zip.

  • tar.gz présente une compression légèrement supérieure et extraction plus rapide pour fichiers volumineux.
  • ZIP a une compression parfois moins efficace (même avec un niveau de compression de 6 à 9), mais une extraction d'une fichier spécifique est possible. La préservation des métadonnées est limitées et peut poser problème pour restauration exacte sous Linux. Exemple : les permissions, le owner, les liens symboliques. ZIP stocke uniquement la date de modification. Les dates d'accès et de changement de statut sont perdues.

Pour installer zip ET unzip

#Avec une base Debian
sudo apt update
sudo apt install zip unzip


# Avec une base RHEL/CentOS
sudo dnf install zip unzip
Lien vers le fichier : cliquez ici Copier le code

Exemple de compression avec zip où -r signifie récursif pour inclure les sous-répertoires

zip -r archive.zip repertoire/
Lien vers le fichier : cliquez ici Copier le code
Publicité

Article(s) en relation(s)