18/12/2024

Commandes et Système

Comment compresser et décompresser un fichier tar.gz sous Linux ?

I. Présentation

Sous Linux, les fichiers ".tar.gz" sont populaires et souvent utilisés pour combiner et compresser plusieurs fichiers et répertoires. Dans cet article, nous allons voir comment manipuler, compresser et décompresser des fichiers "tar.gz" sous Linux. Nous verrons notamment des exemples pratiques pour illustrer chaque étape.

Version originale de l'article : 24 mars 2013.

II. Qu'est-ce qu'un fichier tar.gz ?

Tout d'abord, sachez qu'un fichier qui possède l'extension ".tar.gz" est une combinaison de deux types de fichiers : un fichier TAR et un fichier GZ :

  • Le fichier TAR (Tape Archive) est utilisé pour regrouper plusieurs fichiers en un seul fichier plus volumineux sans compression.
  • Ensuite, ce fichier TAR est compressé avec l'algorithme "gzip", d'où l'extension ".gz". Cela permet de réduire la taille totale de l'archive, facilitant ainsi le stockage et le transfert de données.

Par exemple, si nous avons un dossier nommé "projet" contenant plusieurs fichiers et sous-dossiers, nous pouvons créer un fichier "projet.tar.gz" pour rassembler et compresser tout son contenu, de manière à le transférer plus facilement sur une clé USB ou une application web.

III. Comment compresser un fichier en tar.gz ?

Pour créer un fichier tar.gz, nous utilisons la commande "tar" avec les options "-czf". Voici un exemple pour compresser notre dossier "projet" contenant plusieurs dossiers et fichiers :

# Compresser un dossier et son contenu au format .taz.gz
tar -czf <nom_archive.tar.gz> <dossier/fichier_a_compresser>

# Exemple
tar -czf projet.tar.gz projet

Donc, voici le détail des options que nous venons d'utiliser :

  • -c : crée une nouvelle archive.
  • -z : compresse l'archive avec gzip.
  • -f : spécifie le nom du fichier d'archive.

En exécutant cette commande, nous créons une archive compressée "projet.tar.gz" à partir du dossier "projet". Le dossier en lui-même restera inchangé.

Passons maintenant à la décompression d'une archive tar.gz pour extraire son contenu.

IV. Comment décompresser un fichier tar.gz ?

Pour extraire le contenu d'un fichier tar.gz, nous utilisons encore la commande "tar", mais cette fois avec les options "-xzf". Voici un exemple pour décompresser "projet.tar.gz" :

# Décompresser et extraire le contenu d'une archive tar.gz
tar -xzf <nom_archive.tar.gz>

# Exemple
tar -xzf projet.tar.gz

Explications des options :

  • -x : extrait le contenu de l'archive.
  • -z : décompresse l'archive avec gzip.
  • -f : spécifie le nom du fichier d'archive à extraire.

Cette commande extraira tous les fichiers et dossiers contenus dans "projet.tar.gz" dans le répertoire courant. Vous pouvez vérifier que le contenu a été extrait en listant les fichiers avec "ls".

V. Comment lister le contenu d'un fichier tar.gz sans l'extraire ?

Il est parfois utile de vérifier le contenu d'une archive sans l'extraire. Pour ce faire, nous utilisons la commande "tar" avec les options "-tzf". Voici un exemple pour lister le contenu de "projet.tar.gz" :

# Lister le contenu d'une archive tar.gz sans l'extraire
tar -tzf projet.tar.gz

Explications des options :

  • -t : liste le contenu de l'archive.
  • -z : décompresse l'archive avec gzip.
  • -f : spécifie le nom du fichier d'archive.

En exécutant cette commande, vous verrez une liste des fichiers et des dossiers contenus dans l'archive sans les extraire.

Lister le contenu d'une archive "tar.gz" sans l'extraire sous Linux.
Lister le contenu d'une archive "tar.gz" sans l'extraire sous Linux.

Cette méthode est particulièrement utile pour vérifier le contenu avant de procéder à l'extraction complète.

VI. Comment décompresser une archive tar.gz vers un répertoire cible spécifique ?

Parfois, il est nécessaire d'extraire le contenu de ces archives vers un répertoire spécifique plutôt que dans le répertoire courant. Pour extraire le contenu d'une archive "tar.gz" vers un répertoire spécifique, nous utilisons la commande "tar" avec les options "-xzf" et "-C" :

# Décompresser et extraire le contenu d'une archive tar.gz vers un répertoire spécifique
tar -xzf <nom_archive.tar.gz> -C <repertoire_cible>

# Exemple
tar -xzf projet.tar.gz -C destination

Voici le détail de ces différentes options :

  • -x : extrait le contenu de l'archive.
  • -z : décompresse l'archive avec gzip.
  • -f : spécifie le nom du fichier d'archive.
  • -C : spécifie le répertoire cible où le contenu de l'archive sera extrait.

Enfin, en exécutant cette commande, tous les fichiers et dossiers contenus dans "projet.tar.gz" seront extraits dans le répertoire "destination". Assurez-vous que le répertoire "destination" existe déjà !

VII. Conclusion

Savoir manipuler des fichiers ".tar.gz" sous Linux vous sera à coup sûr utile, ce format de compression est l'un des plus communs et utilisés sur cet OS !

author avatar
Mickael Dorigny Co-founder
Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

9 commentaires sur “Comment compresser et décompresser un fichier tar.gz sous Linux ?

  • Hello Mickael,

    Merci pour ce petit tuto très simple mais qui permet à un vieux comme moi qui se met à Linux d’y voir un peu plus claire sur l’install d’un programme compressé dans un .tar.gz.

    Bonne année

    Répondre
    • Ravi d’avoir pu vous aider ! Bonne année à vous aussi =)

      Répondre
  • Merci Mickael pour ce tuto !

    En complément, et pour ceux qui ne veulent pas se prendre la tête, il existe un excellent outil qui décompacte tout type d’archive avec une seule commande : dtrx (pour « Do The Right eXtraction »).

    Si vous voulez en savoir plus : http://www.collet-matrat.com/?p=2837

    /Xavier

    Répondre
  • Bon tutoriel, cependant il y a une erreur, tu as écris :

    « On peut aussi ajouter l’option “-C” si on souhaite décompresser l’archive dans un autre répertoire. Par exemple, si on souhaite décompresser l’archive dans “/home/neaj/dir3” »

    Mais en réalité on décompresse l’archive à partir du répertoire “/home/neaj/dir3” (on va chercher le fichier à ce chemin) et non pas vers celui-ci.

    Répondre
  • @vavalm

    Bonjours vavalm, c’est une erreur de traduction du « man » que tu parle, voici en anglais :
    -C, –directory DIR
    change to directory DIR

    en gros la racine ‘/’ ou ‘.’ de l’archive est changé en -C « destination »
    donc mickael à tout juste, essaye la commande avant de pointé une erreur.
    Surtout si elle est basé sur du man « français » 😉
    Fonctionne à merveille, petit tuto toujours agréable à trouvé.
    Merci

    Répondre
    • Et bien justement j’ai commenté ceci car je l’ai testé en même temps que le tuto et j’ai eu une erreur. J’ai finalement trouvé et j’en ai déduis ceci après quelques autres test.

      Répondre
  • Bonjour
    je voudrai installer le logiciel de chimie LAMMPS et je trouve des dificultées
    dans l’ouverture du fichier qui est en tar.dz veuiller m’aider SVP et merci

    Répondre
  • Je ne sais pas comment je n’arrive toujours pas à maîtriser de ce bout de commande.
    A chaque fois que j’en ai besoin, je dois toujours faire un petit tour sur la toile ou faire un man…

    Vous savez une manière mnémotechnique qui pourrait me permettre de la maîtriser directement ?

    Répondre
  • Merci pour ce tuto clair, efficace, allant à l’essentiel

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.