Générateur de commandes tar
Créez, extrayez et listez des archives tar sans chercher les options.
À propos de cet outil
Choisissez de créer, d’extraire ou de lister une archive, sélectionnez la compression (gzip, bzip2, xz ou zstd), ajoutez des fichiers et des exclusions, et copiez la commande tar avec chaque option expliquée.
Mode d’emploi
- Choisissez Créer, Extraire ou Lister le contenu.
- Choisissez la compression ; le nom de l’archive reçoit l’extension correspondante.
- Pour une nouvelle archive, listez les fichiers et dossiers à inclure et les éventuels motifs à exclure.
- Copiez la commande et lisez ce que fait chaque option.
Questions
- Comment extraire un fichier .tar.gz ?
- Exécutez tar -xzvf file.tar.gz. Ajoutez -C dossier pour extraire ailleurs. Les versions modernes de GNU tar et le tar de macOS détectent eux-mêmes la compression : tar -xvf file.tar.gz fonctionne donc aussi.
- Quelle compression choisir ?
- gzip est le choix sûr par défaut, qui s’ouvre partout. zstd est généralement à la fois plus rapide et plus compact, si toutes les machines qui ouvriront le fichier ont un tar récent. xz produit les fichiers les plus petits, mais c’est le plus lent.
- Pourquoi -f doit-il être en dernier dans -czvf ?
- f prend le mot suivant comme nom d’archive. Dans -czfv, tar considérerait v comme le nom du fichier. Gardez f à la fin du groupe de lettres.
- À quoi sert --strip-components ?
- Elle retire les dossiers de tête de chaque chemin lors de l’extraction. Les archives contiennent souvent un dossier racine comme project-1.2/ ; --strip-components=1 place son contenu directement dans la destination.
- Comment voir le contenu sans extraire ?
- Utilisez Lister le contenu, qui donne tar -tvf archive.tar.gz. Cette commande affiche chaque fichier avec sa taille et sa date, sans rien modifier.
- Comment ajouter des fichiers à un tar.gz existant ?
- Impossible d’ajouter des fichiers à une archive compressée. tar -rf n’ajoute des fichiers qu’à un .tar non compressé. Pour un .tar.gz, recréez l’archive avec les fichiers supplémentaires, ou décompressez-la avec gunzip, lancez tar -rf backup.tar newfile, puis recompressez-la avec gzip.
- Pourquoi tar affiche-t-il « Not found in archive » ?
- Le chemin demandé ne correspond pas exactement au nom d’un membre de l’archive. Lancez tar -tzf archive.tar.gz et copiez le chemin depuis sa sortie : les archives créées avec tar -czf x.tar.gz . enregistrent chaque nom avec un ./ initial, et beaucoup ont un dossier racine. Les motifs nécessitent aussi --wildcards dans GNU tar.
- Comment empêcher macOS d’ajouter des fichiers ._ dans une archive tar ?
- Le tar de macOS (bsdtar) enregistre les attributs étendus sous forme de fichiers ._ supplémentaires, qui encombrent l’archive sous Linux. Créez l’archive avec --no-mac-metadata, ou définissez COPYFILE_DISABLE=1 avant la commande : COPYFILE_DISABLE=1 tar -czf backup.tar.gz project. Sous Linux et avec GNU tar, rien ne change.
Comment créer une archive tar.gz d’un dossier ?
Lancez tar -czvf backup.tar.gz src docs package.json pour empaqueter les fichiers et dossiers listés. Les chemins sont enregistrés tels que vous les saisissez : utilisez donc des chemins relatifs. Pour enregistrer un dossier sans le chemin qui le précède, changez d’abord de répertoire avec -C : tar -czf site.tar.gz -C /var/www html. GNU tar et bsdtar retirent le / initial des chemins absolus, pour que l’archive ne puisse pas écraser de fichiers système lors de l’extraction.
Pour exclure des éléments, ajoutez --exclude=node_modules ou --exclude="*.log", et mettez les motifs entre guillemets pour que le shell ne les développe pas. Un motif sans barre oblique correspond à ce nom à n’importe quelle profondeur. Dans GNU tar, placez les options --exclude avant la liste des fichiers, car elles ne s’appliquent qu’aux fichiers listés après elles. Écrivez l’archive en dehors du dossier que vous empaquetez, pour que tar n’essaie pas d’inclure l’archive dans elle-même.
tar.gz ou zip : quel format d’archive choisir ?
tar conserve les permissions Unix, les propriétaires et les liens symboliques, ce qui compte pour les scripts et les déploiements. Il compresse tous les fichiers en un seul flux, si bien que de nombreux petits fichiers similaires se compressent mieux qu’en zip. La contrepartie est l’absence d’accès direct : lister ou extraire un seul fichier implique de parcourir l’archive. zip compresse chaque fichier séparément et s’ouvre nativement sous Windows, même si Windows 10 et les versions ultérieures fournissent aussi tar.
.tgz n’est qu’un nom plus court pour .tar.gz, avec exactement le même contenu. .tar.bz2 et .tar.xz sacrifient la vitesse pour des fichiers plus petits, et .tar.zst est rapide et compact, mais nécessite GNU tar 1.31 ou plus récent, ou un bsdtar récent, avec l’option --zstd. GNU tar et bsdtar acceptent aussi -a, qui choisit la compression d’après l’extension du fichier d’archive lors de la création.
Comment extraire un seul fichier d’une archive tar ?
Indiquez le fichier après l’archive : tar -xzf backup.tar.gz src/config.yml. Le chemin doit correspondre exactement à ce qu’affiche tar -tzf backup.tar.gz, y compris un éventuel ./ initial ou dossier racine. GNU tar a besoin de --wildcards pour utiliser des motifs comme "*.yml", alors que bsdtar sur macOS les accepte directement. Ajoutez -O pour afficher le fichier dans le terminal au lieu de l’écrire : tar -xzOf backup.tar.gz src/config.yml.
Avant d’extraire une archive provenant de quelqu’un d’autre, listez son contenu. Certaines archives n’ont pas de dossier racine et déversent des centaines de fichiers dans le dossier courant, et les fichiers existants portant les mêmes noms sont écrasés sans confirmation. Extrayez plutôt dans un nouveau dossier vide : mkdir out, puis tar -xzf archive.tar.gz -C out. Pour vérifier d’abord un téléchargement, comparez son SHA-256 avec le Générateur de hachages ou sha256sum.
Quelque chose ne fonctionne pas, ou un résultat semble faux ? Signaler un problème avec cet outil