Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!

Utilisez le code à la caisse :

Skills
01.08.2025

Comment décompresser un fichier sous Linux : Guide avancé pour les utilisateurs expérimentés

L’extraction de fichiers .tar, .tar.gz, .tar.bz2 et d’autres fichiers tarball est une compétence fondamentale dans l’administration des systèmes Linux et les flux de travail DevOps. Bien que tar semble simple à première vue, les utilisateurs expérimentés peuvent utiliser des drapeaux et des techniques avancés pour améliorer les performances, les scripts et le contrôle fin.

Ce guide vous guidera de la décompression de base à l’extraction conditionnelle, en passant par l’analyse comparative et la gestion des archives corrompues.

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

Un fichier .tar (abréviation de Tape Archive) est une archive consolidée qui regroupe plusieurs fichiers en un seul, en préservant la structure des fichiers, les autorisations et les horodatages. Par défaut, il n’est pas compressé. La compression est souvent superposée à des formats tels que .gz, .bz2, .xz ou .zstd.

Commandes d’extraction de base

1. Extraction d’un fichier .tar (sans compression)

tar -xf archive.tar

2. Extraire un fichier .tar.gz ou .tgz

tar -xzf archive.tar.gz

3. Extraire un fichier .tar.bz2

tar -xjf archive.tar.bz2

4. Extraire un fichier .tar.xz

tar -xJf archive.tar.xz

5. Extraire un fichier .tar.zst (Zstandard)

tar --use-compress-program=unzstd -xf archive.tar.zst

Indicateurs avancés communs

DrapeauFonction
-xExtraire
-fUtiliser un fichier d’archive
-vSortie verbeuse (liste des fichiers)
-CChangement de répertoire avant l’extraction
–strip-components=NSupprime les N premiers éléments du chemin
–wildcardsActive le filtrage des caractères génériques
–no-same-ownerEvite de changer le propriétaire d’un fichier lors d’une extraction
–overwriteForce l’écrasement sans invite
–exclude=PATTERNExclut les fichiers correspondant au modèle

Exemples avancés

Extraire dans un répertoire spécifique

tar -xf archive.tar.gz -C /opt/myapp

Supprimer le dossier de premier niveau (aplatir la structure)

tar -xf archive.tar.gz --strip-components=1

Extraire des fichiers spécifiques

tar -xf archive.tar.gz chemin/vers/fichier1 chemin/vers/fichier2

Extraire le motif correspondant à l’aide de caractères génériques

tar -xf archive.tar.gz --wildcards '*.conf'

Extraire en excluant certains chemins

tar -xf archive.tar.gz --exclude='*.log'

Temps d’extraction du benchmark

temps tar -xf archive.tar.gz

Traitement des cas marginaux

le fichier est corrompu

Utilisez tar avec –ignore-zeros pour ignorer les blocs corrompus :

tar -xzf broken.tar.gz --ignore-zeros

? Inspecter l’archive avant de l’extraire

tar -tf archive.tar.gz # Lister les fichiers

Test d’intégrité (pour les archives compressées par gzip)

gzip -t archive.tar.gz && echo "Archive OK"

Conseils de script pour les administrateurs système

Utilisez tar dans les scripts de sauvegarde/restauration :

#!/bin/bash
TARGET_DIR="/var/www"
ARCHIVE="/backups/site-$(date +%F).tar.gz"

tar -czf "$ARCHIVE" -C "$TARGET_DIR" . && echo "Backup saved to $ARCHIVE"

Ou décompressez et installez automatiquement :

#!/bin/bash
SRC="$1"
DEST="$2"
mkdir -p "$DEST"
tar -xzf "$SRC" -C "$DEST" --strip-components=1

Les fichiers Tar sont essentiels à l’empaquetage, aux sauvegardes et au déploiement de Linux. En maîtrisant les drapeaux d’extraction et en intégrant tar dans les scripts, vous pouvez manipuler les archives avec une précision chirurgicale : n’extraire que ce qui est nécessaire, préserver la propriété, aplatir les chemins ou automatiser des flux de travail entiers.

Référence rapide

# Basic
tar -xf file.tar    # No compression
tar -xzf file.tar.gz # Gzip
tar -xjf file.tar.bz2 # Bzip2
tar -xJf file.tar.xz # XZ
tar --use-compress-program=unzstd -xf file.tar.zst    # Zstandard

# Common options
tar -xvf archive.tar    # Verbose
tar -C /target/dir -xf file.tar.gz    # Extract to folder
tar --strip-components=1 -xf file.tar.gz    # Remove top-level dir

Testez vos compétences sur tous nos services d'hébergement et bénéficiez de 15% de réduction!

Utilisez le code à la caisse :

Skills