Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code : Skills Commencer
Sections
Linux

Comment décompresser un fichier .tar.gz sous Linux : Guide complet avec conseils avancés

Travailler avec des fichiers compressés est une réalité quotidienne dans tout environnement Linux. Parmi les formats les plus largement utilisés se trouve .tar.gz, un format en deux étapes qui combine tar pour l’archivage et gzip pour la compression. Que vous décompactiez du code source de logiciels, restauriez des sauvegardes ou déployiez des fichiers de configuration sur un serveur VPS Hosting, savoir comment gérer les archives .tar.gz de manière efficace et sécurisée est une compétence Linux fondamentale.

Ce guide couvre tout, de la commande d’extraction de base aux techniques avancées pour les grandes archives, le renforcement de la sécurité et les meilleures pratiques de script.

Qu’est-ce qu’un fichier .tar.gz ?

Un fichier .tar.gz — souvent appelé tarball — est créé en deux étapes :

  1. tar regroupe plusieurs fichiers et répertoires dans une seule archive (.tar)
  2. gzip compresse cette archive pour réduire sa taille (.tar.gz ou .tgz)

Cas d’usage courants

  • Distribution du code source logiciel
  • Empaquetage des fichiers de configuration et des sauvegardes
  • Archivage des fichiers journaux pour le stockage à long terme
  • Transfert de grands arbres de répertoires entre serveurs

Exemple de nom de fichier : project-files.tar.gz

Commande d’extraction de base

La commande standard pour extraire un fichier .tar.gz est :

tar -xvzf file.tar.gz

Détail des drapeaux

DrapeauSignification
-xExtraire les fichiers de l’archive
-vMode verbose — affiche chaque fichier au fur et à mesure de son extraction
-zDécompresser avec gzip
-fSpécifie le nom de fichier à traiter

Cette commande unique gère la grande majorité des tâches d’extraction quotidiennes.

Extraire vers un répertoire spécifique

Par défaut, tar extrait les fichiers dans le répertoire de travail actuel. Pour rediriger la sortie vers un emplacement spécifique, utilisez le drapeau -C :

tar -xvzf file.tar.gz -C /path/to/target-directory

> Remarque : Le répertoire cible doit déjà exister. Créez-le d’abord avec mkdir -p /path/to/target-directory si nécessaire.

Cette approche est particulièrement utile dans les scripts de déploiement automatisés ou lors de l’organisation de plusieurs archives sur un serveur de production.

Aperçu du contenu de l’archive avant extraction

Avant d’extraire une archive — en particulier une provenant d’une source inconnue — il est recommandé d’inspecter d’abord son contenu :

tar -tvzf file.tar.gz

Le drapeau -t répertorie tous les fichiers et répertoires à l’intérieur de l’archive sans rien extraire. Cela vous aide à :

  • Comprendre la structure interne des répertoires
  • Éviter de remplacer accidentellement des fichiers existants
  • Détecter les chemins suspects ou inattendus

Extraire des fichiers ou répertoires spécifiques

Vous n’avez pas toujours besoin d’extraire une archive complète. Pour extraire un seul fichier ou dossier, spécifiez son chemin exactement tel qu’il apparaît dans l’archive :

tar -xvzf file.tar.gz path/to/specific-file.txt

Pour trouver le chemin interne exact, exécutez d’abord la commande --list :

tar -tvzf file.tar.gz | grep filename

> Important : Utilisez le chemin relatif affiché dans la liste de l’archive, et non un chemin absolu commençant par /.

Considérations de sécurité lors de l’extraction d’archives non fiables

L’extraction de .tar.gz fichiers provenant de sources inconnues ou non fiables peut poser de sérieux risques de sécurité, notamment des attaques de traversée de répertoires où les archives malveillantes écrasent les fichiers système critiques. Appliquez ces protections :

Prévenir le remplacement de répertoires

tar --no-overwrite-dir -xvzf file.tar.gz

Supprimer les composants de chemin d’accès principaux

L’indicateur --strip-components supprime les niveaux de répertoires principaux des chemins extraits, ce qui neutralise les tentatives d’injection de chemin absolu :

tar --strip-components=1 -xvzf untrusted-archive.tar.gz

Extraire dans un répertoire isolé

Extrayez toujours les archives non fiables dans un répertoire sandbox dédié et inspectez le contenu avant de déplacer les fichiers vers leur destination finale :

mkdir /tmp/sandbox && tar -xvzf untrusted-archive.tar.gz -C /tmp/sandbox

Ces pratiques sont particulièrement essentielles sur l’infrastructure partagée. Si vous gérez plusieurs sites ou clients, envisagez d’utiliser des environnements d’hébergement web partagé avec des limites de permissions strictes.

Traiter les grandes archives efficacement

Pour les archives de plusieurs gigaoctets, l’extraction standard peut sembler être une boîte noire. Ces techniques améliorent la visibilité et les performances.

Surveiller la progression avec pv

pv (pipe viewer) affiche une barre de progression en temps réel et la vitesse de transfert :

pv file.tar.gz | tar xzvf -

Installez pv s’il n’est pas déjà disponible :

# Debian/Ubuntu
sudo apt install pv

# CentOS/RHEL/AlmaLinux
sudo dnf install pv

Désactiver le mode verbeux pour une extraction plus rapide

Lors de l’extraction de très grandes archives, le drapeau -v peut ralentir les choses en imprimant des milliers de noms de fichiers sur le terminal. Supprimez-le pour de meilleures performances :

tar -xzf file.tar.gz

Utiliser la décompression parallèle avec pigz

Pour les serveurs multi-cœurs, pigz remplace gzip par une implémentation parallèle et peut réduire considérablement le temps de décompression :

tar -I pigz -xf file.tar.gz

Décompresser en Deux Étapes Séparées

Parfois, vous avez besoin d’un contrôle plus fin — par exemple, lors de l’intégration dans un pipeline ou de l’inspection du fichier .tar intermédiaire avant le déballage. Vous pouvez diviser le processus en deux commandes :

# Step 1: Decompress gzip to get a plain .tar archive
gunzip file.tar.gz

# Step 2: Extract the .tar archive
tar -xvf file.tar

Cette approche est utile quand :

  • Vous voulez inspecter le .tar brut avant l’extraction
  • Votre pipeline traite les étapes .tar et .gz séparément
  • Vous devez passer le fichier .tar à un autre outil

Créer une archive .tar.gz

Savoir comment créer des archives est tout aussi important que les extraire. La syntaxe reflète l’extraction mais utilise -c (créer) au lieu de -x :

tar -czvf archive-name.tar.gz /path/to/directory/

Exclure des fichiers ou répertoires spécifiques

tar -czvf archive.tar.gz /path/to/directory/ --exclude='*.log' --exclude='node_modules'

Ceci est inestimable pour créer des packages de déploiement ou des sauvegardes propres sans encombrement inutile.

Automatiser les opérations .tar.gz dans les scripts

Sur les serveurs de production — que vous utilisiez un Serveur Dédié ou un VPS géré — automatiser les opérations d’archive économise du temps et réduit les erreurs humaines.

Exemple : Script de sauvegarde automatisé

#!/bin/bash

BACKUP_DIR="/var/backups"
SOURCE_DIR="/var/www/html"
DATE=$(date +%Y-%m-%d)
ARCHIVE="$BACKUP_DIR/website-backup-$DATE.tar.gz"

mkdir -p "$BACKUP_DIR"
tar -czf "$ARCHIVE" --exclude='*.tmp' "$SOURCE_DIR"

echo "Backup created: $ARCHIVE"

Planifiez ceci avec une tâche cron pour des sauvegardes quotidiennes entièrement automatisées :

0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

Utilisation des gestionnaires d’archives GUI (Optionnel)

Si vous travaillez dans un environnement de bureau Linux, les outils graphiques offrent une alternative glisser-déposer :

Environnement de bureauGestionnaire d’archives
GNOMEFile Roller
KDE PlasmaArk
XfceThunar Archive Plugin

Ces outils supportent .tar.gz nativement et conviennent pour un usage occasionnel. Cependant, pour l’administration de serveur, la ligne de commande reste l’approche la plus fiable et scriptable.

Référence rapide : Commandes tar essentielles

TâcheCommande
Extraire l’archivetar -xvzf file.tar.gz
Extraire vers le répertoiretar -xvzf file.tar.gz -C /target/
Lister le contenutar -tvzf file.tar.gz
Extraire un seul fichiertar -xvzf file.tar.gz path/to/file
Créer une archivetar -czvf archive.tar.gz /source/
Surveiller la progression`pv file.tar.gztar xzvf -`
Supprimer les composants de chemintar --strip-components=1 -xvzf file.tar.gz
Décompression parallèletar -I pigz -xf file.tar.gz

Conclusion

Maîtriser la gestion des fichiers .tar.gz va bien au-delà de taper tar -xvzf. En comprenant le format, en prévisualisant le contenu avant l’extraction, en appliquant des drapeaux de sécurité pour les archives non fiables, et en exploitant des outils comme pv et pigz pour les fichiers volumineux, vous obtenez un contrôle complet sur l’une des opérations les plus essentielles de Linux.

Ces compétences se traduisent directement par des tâches du monde réel : déployer le code source des applications, gérer les sauvegardes du serveur, empaqueter les fichiers de configuration et automatiser la maintenance de routine. Que vous soyez un débutant apprenant la ligne de commande ou un administrateur chevronné optimisant les flux de travail sur un VPS avec cPanel ou un serveur dédié bare-metal, une gestion confiante des fichiers .tar.gz rend vos opérations Linux plus rapides, plus sûres et plus fiables.

Si vous recherchez un environnement d’hébergement robuste pour mettre ces compétences en pratique, explorez AlexHost VPS Hosting — offrant un accès root complet, un stockage SSD et des distributions Linux flexibles prêtes pour n’importe quelle charge de travail.