La commande tar regroupe plusieurs fichiers et dossiers dans une archive unique, avec ou sans compression. Trois options portent l’essentiel du travail : -c crée une archive, -t affiche son contenu, -x l’extrait. L’option -f désigne le fichier d’archive et se place toujours juste avant son nom.
L’essentiel
Créer une archive compressée : tar -czvf archive.tar.gz dossier/
Voir son contenu sans l’extraire : tar -tvf archive.tar.gz
Extraire : tar -xvf archive.tar.gz
La compression se déclare à la création. À la lecture, GNU tar reconnaît seul le format de l’archive qu’il ouvre.
Commande universelle sur Debian, Ubuntu, Fedora, Arch et openSUSE. Commandes et messages d’erreur vérifiés sur GNU tar 1.34 le 29 juillet 2026, conformément à la page de manuel tar(1) et au manuel officiel GNU.
Quelle commande tar utiliser selon votre besoin
| Votre situation | La commande |
|---|---|
Vous avez un fichier .tar |
tar -xvf archive.tar |
Vous avez un .tar.gz ou .tgz |
tar -xvf archive.tar.gz |
Vous avez un .tar.bz2 |
tar -xvf archive.tar.bz2 |
Vous avez un .tar.xz |
tar -xvf archive.tar.xz |
Vous avez un .tar.zst |
tar -xvf archive.tar.zst |
| Vous voulez voir le contenu avant d’extraire | tar -tvf archive.tar.gz |
| Vous voulez créer une archive compressée | tar -czvf archive.tar.gz dossier/ |
| Vous voulez extraire ailleurs que dans le dossier courant | tar -xvf archive.tar.gz -C /destination/ |
Les cinq premières lignes emploient exactement les mêmes options, quel que soit le format : c’est volontaire. À la lecture, vous n’avez pas à préciser la compression.
Si l’extension manque ou vous semble douteuse, identifiez le format avant toute chose :
file archive
À quoi sert la commande tar
Le nom vient de tape archive, « archiveur sur bande » : la commande tar Linux a été conçue pour écrire sur des bandes magnétiques. Elle assemble aujourd’hui fichiers et dossiers en un seul fichier, en conservant l’arborescence, les dates, les permissions et les propriétaires.
Tar n’assure pas lui-même la compression. Il la délègue à un programme externe — gzip, bzip2, xz ou zstd — que vous choisissez au moment de créer l’archive. D’où les doubles extensions comme .tar.gz : une archive tar, compressée par gzip.
Syntaxe de la commande tar
# Forme générale
tar OPÉRATION [OPTIONS] -f ARCHIVE [FICHIERS...]
# Exemples
tar -cvf archive.tar projet/
tar -xvf archive.tar.gz -C /destination/
Le nom de l’archive n’est pas un argument libre : c’est la valeur de -f. Sans cette option, tar écrit sur la sortie standard et le nom que vous pensiez donner à l’archive est interprété comme un fichier à archiver.
| Option | Rôle |
|---|---|
-c |
Créer une archive |
-x |
Extraire une archive |
-t |
Lister le contenu sans extraire |
-f |
Désigner le fichier d’archive |
-v |
Afficher les fichiers traités |
-z |
Compresser avec gzip |
-j |
Compresser avec bzip2 |
-J |
Compresser avec xz |
--zstd |
Compresser avec zstd |
-a |
Choisir la compression d’après l’extension |
-C |
Se placer dans un dossier avant d’agir |
-p |
Restaurer les permissions d’origine |
-r |
Ajouter un fichier à une archive |
--exclude |
Exclure des fichiers à la création |
--strip-components |
Retirer des niveaux de dossier à l’extraction |
--one-top-level |
Extraire dans un dossier dédié |
Attention à l’ordre. L’option -f doit être la dernière du groupe. Écrire tar -cfzv archive.tar.gz dossier/ ne déclenche pas d’erreur de syntaxe : -f avale les lettres suivantes, tar crée un fichier nommé zv, puis échoue avec tar: archive.tar.gz: Cannot stat: No such file or directory.
Créer une archive tar
Sans compression
tar -cvf archive.tar projet/
L’option -v affiche chaque élément traité :
projet/
projet/README.md
projet/logs/app.log
projet/src/a.txt
Avec compression
# gzip : le plus courant
tar -czvf archive.tar.gz projet/
# bzip2 : compresse davantage, plus lent
tar -cjvf archive.tar.bz2 projet/
# xz : compression maximale, le plus lent
tar -cJvf archive.tar.xz projet/
# zstd : bon rapport vitesse/taille
tar --zstd -cvf archive.tar.zst projet/
Plus simple à retenir, l’option -a déduit la compression de l’extension que vous donnez :
tar -cavf archive.tar.xz projet/
gzip reste le choix par défaut : rapide et lisible partout. xz produit les archives les plus petites, au prix d’un temps de compression bien supérieur, ce qui convient à l’archivage long terme. zstd offre un compromis intéressant sur les systèmes récents. Ces caractéristiques sont qualitatives : le gain réel dépend de la nature de vos données.
Deux réserves sur zstd : l’option --zstd suppose une version récente de GNU tar et le paquet zstd installé, absent de certaines installations minimales. Vérifiez avec tar --help | grep zstd.
Exclure des fichiers
tar --exclude='*.log' -czvf archive.tar.gz projet/
Les guillemets simples protègent le motif du shell, et leur nécessité dépend de la forme employée. Avec --exclude= collé au motif, le shell cherche un fichier correspondant au mot entier, n’en trouve aucun et laisse passer le motif intact. Mais dès que le motif forme un mot isolé — --exclude *.log, ou --wildcards *.conf à l’extraction — le shell le remplace par les fichiers du répertoire courant, et tar reçoit tout autre chose que ce que vous vouliez. Mettez les guillemets systématiquement : c’est la seule règle qui ne se retienne pas de travers.
Chemins absolus
Si vous archivez un chemin commençant par /, tar affiche :
tar: Removing leading `/' from member names
C’est un comportement normal, pas une erreur. Tar retire le / initial pour éviter qu’une extraction distraite n’écrase /etc ou /usr. Pour des chemins propres, placez-vous d’abord dans le dossier parent avec -C :
tar -czvf sauvegarde.tar.gz -C /var/www site/
Extraire une archive tar, tar.gz, tar.bz2 ou tar.xz

L’extraction de base
tar -xvf archive.tar.gz
Point souvent mal compris : l’option de compression est inutile à l’extraction. GNU tar identifie le format en lisant les premiers octets du fichier, ce qu’on appelle sa signature, et se rabat sur l’extension si nécessaire. La même commande traite .tar, .tar.gz, .tar.bz2, .tar.xz et .tar.zst.
Inutile, donc — mais attention, pas anodin. Une option qui ne correspond pas au format réel casse la commande :
$ tar -xzf archive.tar.bz2
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
Une seule exception documentée : quand l’archive arrive par un tube, tar ne peut pas revenir en arrière dans le flux pour analyser la signature. Il vous indique alors quoi faire :
tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now
Extraire dans un dossier précis
tar -xvf archive.tar.gz -C /chemin/destination/
Le dossier doit exister : tar ne le crée pas et renvoie Cannot open: No such file or directory. Sans -C, l’extraction se fait dans le répertoire courant et tout fichier de même nom est écrasé sans confirmation.
Éviter d’éparpiller les fichiers
Une archive dépourvue de dossier racine déverse son contenu en vrac dans le répertoire courant. C’est ce qu’on appelle une tarbomb. L’option --one-top-level crée automatiquement un dossier dédié, nommé d’après l’archive privée de ses suffixes de compression — projet.tar.gz donne projet :
tar -xvf archive.tar.gz --one-top-level
# Ou en imposant le nom du dossier
tar -xvf archive.tar.gz --one-top-level=extraction
Supprimer un niveau de dossier
Utile quand une archive téléchargée contient un dossier racine versionné dont vous ne voulez pas :
tar -xzf logiciel-3.2.1.tar.gz -C /var/www/html/ --strip-components=1
Extraire un fichier ou un motif
# Un fichier précis, chemin exact obligatoire
tar -xvf archive.tar.gz projet/README.md
# Tous les fichiers d'un type
tar -xvf archive.tar.gz --wildcards '*.conf'
Le chemin doit correspondre exactement à celui affiché par tar -tf. Sinon tar renvoie Not found in archive.
Lister le contenu sans extraire
tar -tvf archive.tar.gz
La sortie affiche permissions, propriétaire, taille et date :
drwxr-xr-x user/user 0 2026-07-29 12:05 projet/
-rw-r--r-- user/user 7 2026-07-29 12:05 projet/README.md
-rwx------ user/user 10 2026-07-29 12:05 projet/src/a.txt
Prenez l’habitude de lister avant d’extraire une archive dont vous ignorez la provenance.
tar -t ne teste pas l’intégrité d’un .tar. Sur une archive non compressée, tar ne lit que les en-têtes et saute les blocs de données : une corruption du contenu passe inaperçue et le code retour reste 0. Sur une archive compressée, en revanche, tar -tf archive.tar.gz > /dev/null ne renvoie 0 que si le flux se décompresse entièrement — là, le test est fiable. Pour un .tar, comparez une somme de contrôle avec sha256sum.
Modifier une archive existante
# Ajouter un fichier
tar -rvf archive.tar nouveau.txt
# Supprimer un membre
tar --delete -f archive.tar projet/obsolete.txt
Ces opérations sont impossibles sur une archive compressée. GNU tar refuse avec tar: Cannot update compressed archives. La restriction couvre -r, -u, --delete et -A. Pour modifier un .tar.gz : décompressez avec gunzip, modifiez le .tar, recompressez avec gzip. Notez que --delete agit sans demander confirmation — travaillez sur une copie.
Erreurs courantes avec tar
| Message | Cause | Solution |
|---|---|---|
Cannot stat: No such file or directory avec un fichier zv créé |
-f n’est pas la dernière option du groupe |
Réordonner en -czvf |
Cannot update compressed archives |
-r, -u, -A ou --delete sur une archive compressée |
Décompresser, modifier, recompresser |
Not found in archive |
Le chemin ne correspond pas à celui stocké | Reprendre le chemin exact affiché par tar -tf |
gzip: stdin: not in gzip format |
Option de compression inadaptée au format réel | Retirer -z : l’auto-détection suffit |
Unexpected EOF in archive |
Archive .tar tronquée |
Les fichiers antérieurs à la coupure restent extractibles |
gzip: stdin: unexpected end of file |
Archive .tar.gz tronquée |
Retélécharger, vérifier avec sha256sum |
Cannot open: No such file or directory après -C |
Le dossier de destination n’existe pas | Le créer avec mkdir -p |
Removing leading '/' from member names |
Chemin absolu archivé | Avertissement normal, aucune action requise |
| Permissions modifiées à l’extraction | L’umask s’applique par défaut hors root | Extraire avec -p : tar -xpvf archive.tar |
| Propriétaires non restaurés | --no-same-owner est le défaut hors root |
sudo tar -xpvf archive.tar |
Tar renvoie 0 en cas de succès, 1 si des différences sont constatées ou si des fichiers ont changé pendant l’archivage, 2 pour une erreur fatale. Si le programme de compression échoue, tar propage son code de sortie.
Commandes complémentaires
Pour retrouver un fichier dans une archive volumineuse, combinez le listing avec la commande grep :
tar -tf archive.tar.gz | grep "config"
Sur une archive de plusieurs gigaoctets, -v devient illisible. Préférez un compteur de progression :
tar -czf sauvegarde.tar.gz projet/ --totals
Les permissions restaurées par -p sont celles stockées dans l’archive. Pour les modifier ensuite, reportez-vous à la commande chmod.
Questions fréquentes
Comment ouvrir un fichier .tar sous Linux ?
Utilisez tar -xvf archive.tar pour l’extraire, ou tar -tvf archive.tar pour afficher son contenu sans rien écrire sur le disque. La même syntaxe fonctionne pour les archives compressées.
Faut-il l’option -z pour décompresser un .tar.gz ?
Non. GNU tar détecte la compression à la lecture en analysant les premiers octets du fichier. tar -xvf archive.tar.gz suffit. L’option -z n’est nécessaire qu’à la création, ou lorsque l’archive transite par un tube.
Comment extraire une archive .tar.zst ?
tar -xvf archive.tar.zst, comme pour les autres formats. L’extraction exige que le paquet zstd soit installé sur votre système, ce qui n’est pas toujours le cas sur une installation minimale.
Quelle est la différence entre tar et zip ?
Tar assemble sans compresser et délègue la compression à un programme externe, d’où les doubles extensions comme .tar.gz. Zip fait les deux en une passe et compresse chaque fichier séparément. Tar conserve mieux les permissions et les propriétaires Unix, ce qui explique sa prédominance sous Linux.
Pourquoi tar affiche « Removing leading / » ?
Parce que vous archivez un chemin absolu. Tar retire le / initial pour que l’extraction se fasse dans le répertoire courant plutôt qu’à la racine du système. C’est une protection, pas une erreur.
Peut-on ajouter un fichier à une archive .tar.gz ?
Non, pas directement. GNU tar refuse toute modification d’une archive compressée. Il faut la décompresser avec gunzip, ajouter le fichier au .tar avec -r, puis recompresser avec gzip.
Conclusion
Retenez trois choses. Les options -c, -t et -x couvrent la quasi-totalité des usages, et le nom de l’archive suit toujours -f. La compression se déclare uniquement à la création : une seule commande d’extraction traite tous les formats. Enfin, une archive compressée ne se modifie pas, elle se reconstruit.
Deux réflexes évitent la majorité des dégâts : lister avec tar -tvf avant d’extraire une archive inconnue, et extraire avec -C dans un dossier dédié.
Pour aller plus loin, notre guide pour automatiser vos sauvegardes avec rsync et crontab montre comment planifier ces archives, et notre article pour libérer de l’espace disque traite de l’archivage des journaux volumineux.
Commandes et messages d’erreur vérifiés sur GNU tar 1.34 le 29 juillet 2026, d’après la page de manuel tar(1) et le manuel officiel GNU tar. Les options disponibles varient selon les versions : vérifiez la vôtre avec tar --version.