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)
2. Extraire un fichier .tar.gz ou .tgz
3. Extraire un fichier .tar.bz2
4. Extraire un fichier .tar.xz
5. Extraire un fichier .tar.zst (Zstandard)
Indicateurs avancés communs
Drapeau | Fonction |
---|---|
-x | Extraire |
-f | Utiliser un fichier d’archive |
-v | Sortie verbeuse (liste des fichiers) |
-C | Changement de répertoire avant l’extraction |
–strip-components=N | Supprime les N premiers éléments du chemin |
–wildcards | Active le filtrage des caractères génériques |
–no-same-owner | Evite de changer le propriétaire d’un fichier lors d’une extraction |
–overwrite | Force l’écrasement sans invite |
–exclude=PATTERN | Exclut les fichiers correspondant au modèle |
Exemples avancés
Extraire dans un répertoire spécifique
Supprimer le dossier de premier niveau (aplatir la structure)
Extraire des fichiers spécifiques
Extraire le motif correspondant à l’aide de caractères génériques
Extraire en excluant certains chemins
Temps d’extraction du benchmark
Traitement des cas marginaux
le fichier est corrompu
Utilisez tar avec –ignore-zeros pour ignorer les blocs corrompus :
? Inspecter l’archive avant de l’extraire
Test d’intégrité (pour les archives compressées par gzip)
Conseils de script pour les administrateurs système
Utilisez tar dans les scripts de sauvegarde/restauration :
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