Manuels pour la ligne de commande

Man » Manuel tar en ligne - documentation en ligne détaillée pour la page de manuel tar

🌍
tar - un utilitaire d'archivage

SYNTAXE

Utilisation traditionnelle

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

Utilisation de type UNIX

tar -A [OPTIONS] -f ARCHIVE ARCHIVE...

tar -c [-f ARCHIVE] [OPTIONS] [FICHIER...]

tar -d [-f ARCHIVE] [OPTIONS] [FICHIER...]

tar -r [-f ARCHIVE] [OPTIONS] [FICHIER...]

tar -t [-f ARCHIVE] [OPTIONS] [MEMBRE...]

tar -u [-f ARCHIVE] [OPTIONS] [FICHIER...]

tar -x [-f ARCHIVE] [OPTIONS] [MEMBRE...]

Utilisation de type GNU

tar {--catenate|--concatenate} [OPTIONS] --file ARCHIVE ARCHIVE...

tar --create [--file ARCHIVE] [OPTIONS] [FICHIER...]

tar {--diff|--compare} [--file ARCHIVE] [OPTIONS] [FICHIER...]

tar --delete [--file ARCHIVE] [OPTIONS] [MEMBRE...]

tar --append [--file ARCHIVE] [OPTIONS] [FICHIER...]

tar --list [--file ARCHIVE] [OPTIONS] [MEMBRE...]

tar --test-label [--file ARCHIVE] [OPTIONS] [LABEL...]

tar --update [--file ARCHIVE] [OPTIONS] [FICHIER...]

tar {--extract|--get} [--file ARCHIVE] [OPTIONS] [MEMBRE...]

NOTE

Cette page de manuel est une brève description de GNU tar. Pour une discussion détaillée, y compris des exemples et des recommandations d'utilisation, consultez le manuel GNU Tar disponible au format texinfo. Si le lecteur info et la documentation tar sont correctement installés sur votre système, la commande

info tar

devrait vous donner accès au manuel complet.

Vous pouvez également consulter le manuel en utilisant le mode info dans emacs(1), ou le trouver dans divers formats en ligne à l'adresse suivante :

https://www.gnu.org/software/tar/manual

Si des divergences surviennent entre cette page de manuel et le manuel GNU Tar, ce dernier sera considéré comme la source faisant autorité.

DESCRIPTION

GNU tar est un programme d'archivage conçu pour stocker plusieurs fichiers dans un seul fichier (une archive), et pour manipuler ces archives. L'archive peut être soit un fichier normal, soit un périphérique (par exemple, une unité de bande, d'où le nom du programme, qui signifie "archivage sur bande"), qui peut être situé soit sur la machine locale, soit sur une machine distante.

Styles d'options

Les options de GNU tar peuvent être fournies dans trois styles différents. Dans le style traditionnel, le premier argument est un groupe de lettres d'option et tous les arguments suivants fournissent des arguments aux options qui en ont besoin. Les arguments sont lus dans le même ordre que les lettres d'option. Pour chaque mot de ligne de commande qui reste après le traitement de toutes les options, il est traité comme un argument non option : nom de fichier ou de membre d'archive.

Par exemple, l'option c nécessite la création de l'archive, l'option v demande l'opération verbeuse et l'option f prend un argument qui définit le nom de l'archive sur laquelle opérer. La commande suivante, écrite dans le style traditionnel, indique à tar de stocker tous les fichiers du répertoire /etc dans le fichier d'archive etc.tar, en affichant de manière verbeuse les fichiers en cours d'archivage :


tar cfv etc.tar /etc

Dans le style UNIX ou style des options courtes, chaque lettre d'option est préfixée par un seul tiret, comme dans d'autres utilitaires en ligne de commande. Si une option prend un argument, cet argument suit l'option, soit comme un mot distinct en ligne de commande, soit immédiatement après l'option. Cependant, si l'option prend un argument optionnel, l'argument doit suivre la lettre d'option sans espace entre les deux, comme dans -g/tmp/snar.db.

Un nombre quelconque d'options qui ne prennent pas d'arguments peuvent être regroupées après un seul tiret, par exemple -vkp. Une option qui prend un argument (obligatoire ou optionnel) peut apparaître à la fin d'un tel groupe, par exemple -vkpf a.tar.

L'exemple de commande ci-dessus, écrit dans le style des options courtes, pourrait ressembler à :

tar -cvf etc.tar /etc
ou
tar -c -v -f etc.tar /etc

Dans le style GNU ou style des options longues, chaque option commence par deux tirets et possède un nom significatif, composé de lettres minuscules et de tirets. Lorsqu'elle est utilisée, l'option longue peut être abrégée à ses lettres initiales, à condition que cela ne crée pas d'ambiguïté. Les arguments des options longues sont fournis soit sous forme d'un mot distinct en ligne de commande, immédiatement après l'option, soit séparés de l'option par un signe égal sans espace entre les deux. Les arguments optionnels doivent toujours utiliser cette dernière méthode.

Voici plusieurs façons d'écrire l'exemple de commande dans ce style :

tar --create --file etc.tar --verbose /etc
ou (en abrégeant certaines options) :
tar --cre --file=etc.tar --verb /etc

Les options dans les trois styles peuvent être mélangées, bien que cela ne soit pas recommandé avec les anciennes options.

Mode d'opération

Les options répertoriées dans le tableau ci-dessous indiquent à GNU tar l'opération à effectuer. Exactement une d'entre elles doit être fournie. La signification des arguments qui ne sont pas des options dépend du mode d'opération demandé.

-A, --catenate, --concatenate

Ajoute des archives à la fin d'une autre archive. Les arguments sont traités comme les noms des archives à ajouter. Toutes les archives doivent être du même format que l'archive à laquelle elles sont ajoutées, sinon l'archive résultante pourrait être inutilisable avec des implémentations de tar non-GNU. Notez également que lorsque plus d'une archive est fournie, les membres des archives autres que la première ne seront accessibles dans l'archive résultante que lors de l'utilisation de l'option -i (--ignore-zeros).

Les archives compressées ne peuvent pas être concaténées.

-c, --create

Crée une nouvelle archive. Les arguments fournissent les noms des fichiers à archiver. Les répertoires sont archivés de manière récursive, sauf si l'option --no-recursion est donnée.

-d, --diff, --compare

Trouve les différences entre une archive et le système de fichiers. Les arguments sont optionnels et spécifient les membres d'archive à comparer. S'ils ne sont pas fournis, le répertoire de travail actuel est supposé.


--delete

Supprimer de l’archive. Les arguments fournissent les noms des membres de l’archive à supprimer. Au moins un argument doit être fourni.

Cette option ne fonctionne pas sur les archives compressées. Il n’y a pas d’option courte équivalente.

-r, --append

Ajouter des fichiers à la fin d’une archive. Les arguments ont la même signification que pour -c (--create).

-t, --list

Afficher le contenu d’une archive. Les arguments sont facultatifs. Lorsqu’ils sont fournis, ils spécifient les noms des membres à afficher.

--test-label

Tester l’étiquette du volume de l’archive et quitter. Lorsqu’elle est utilisée sans arguments, elle affiche l’étiquette du volume (le cas échéant) et quitte avec le code 0. Lorsqu’un ou plusieurs arguments de ligne de commande sont fournis, tar compare l’étiquette du volume avec chaque argument. Elle quitte avec le code 0 si une correspondance est trouvée, et avec le code 1 dans le cas contraire. Aucune sortie n’est affichée, sauf si elle est utilisée avec l’option -v (--verbose).

Il n’y a pas d’option courte équivalente pour cette option.

-u, --update

Ajouter les fichiers qui sont plus récents que la copie correspondante dans l’archive. Les arguments ont la même signification que pour les options -c et -r. Notez que les fichiers plus récents ne remplacent pas leurs anciennes copies dans l’archive, mais sont plutôt ajoutés à la fin de l’archive. L’archive résultante peut donc contenir plusieurs membres du même nom, correspondant à diverses versions du même fichier.

-x, --extract, --get

Extraire des fichiers d’une archive. Les arguments sont facultatifs. Lorsqu’ils sont fournis, ils spécifient les noms des membres de l’archive à extraire.

--show-defaults

Afficher les valeurs par défaut intégrées pour diverses options tar et quitter.

-?, --help

Afficher un résumé des options et quitter.

--usage

Afficher une liste des options disponibles et quitter.

--version

Afficher la version du programme et les informations de copyright et quitter.

OPTIONS

Modificateurs d’opération

--check-device

Vérifier les numéros de périphérique lors de la création d’archives incrémentales (par défaut).

-g, --listed-incremental=FILE

Gérer les nouvelles sauvegardes incrémentales au format GNU. FILE est le nom d’un fichier instantané, dans lequel tar stocke des informations supplémentaires qui sont utilisées pour déterminer quels fichiers ont été modifiés depuis la sauvegarde incrémentale précédente et, par conséquent, doivent être sauvegardés à nouveau. Si FILE n’existe pas lors de la création d’une archive, il sera créé et tous les fichiers seront ajoutés à l’archive résultante (sauvegarde de niveau 0). Pour créer des archives incrémentales de niveau N, vous devez avoir une copie du fichier instantané créé pour le niveau N-1, et l’utiliser comme FILE.

Lors de l’affichage ou de l’extraction, le contenu réel de FILE n’est pas inspecté, il est uniquement requis en raison des exigences syntaxiques. Il est donc courant d’utiliser /dev/null à sa place.

--hole-detection=METHOD

Utiliser METHOD pour détecter les trous dans les fichiers clairsemés. Cette option implique --sparse. Les valeurs valides pour METHOD sont seek et raw. La valeur par défaut est seek avec repli sur raw lorsque cela n’est pas applicable.

-G, --incremental

Gérer les anciennes sauvegardes incrémentales au format GNU.


--ignore-failed-read
Ne pas quitter avec un code de retour non nul en cas de fichiers illisibles.

--level=NOMBRE
Définit le niveau de vidage pour une archive incrémentale créée. Actuellement, seul --level=0
est significatif : il indique à tar de tronquer le fichier de cliché avant de le vider, forçant
ainsi une vidage de niveau 0.

-n, --seek
Supposer que l’archive est accessible en lecture aléatoire. Normalement, tar détermine automatiquement si l’archive
peut être accessible en lecture aléatoire ou non. Cette option est destinée à être utilisée dans les cas où
cette reconnaissance échoue. Elle ne prend effet que si l’archive est ouverte en lecture (par exemple, avec les options --list ou --extract).

--no-check-device
Ne pas vérifier les numéros de périphériques lors de la création d’archives incrémentales.

--no-seek
Supposer que l’archive n’est pas accessible en lecture aléatoire.

--occurrence[=N]
Ne traiter que la Nième occurrence de chaque fichier dans l’archive. Cette option n’est valide que
lorsqu’elle est utilisée avec l’une des sous-commandes suivantes : --delete, --diff, --extract ou --list et
lorsqu’une liste de fichiers est donnée soit en ligne de commande, soit via l’option -T. La valeur par défaut de N est 1.

--restrict
Désactiver l’utilisation de certaines options potentiellement dangereuses.

--sparse-version=MAJEUR[.MINEUR]
Définit la version du format clairsemé à utiliser. Cette option implique --sparse. Les valeurs d’argument valides sont 0.0, 0.1 et 1.0. Pour une discussion détaillée des formats clairsemés, consultez
le manuel de GNU Tar, annexe D, « Formats clairsemés ». En utilisant le lecteur info, vous pouvez y accéder en exécutant la commande suivante : info tar « Formats clairsemés ».

-S, --sparse
Gérer efficacement les fichiers clairsemés. Certains fichiers dans le système de fichiers peuvent avoir des segments
qui n’ont jamais été écrits (il s’agit souvent de fichiers de base de données créés par des systèmes tels que DBM). Lorsque cette option est donnée, tar tente de déterminer si le fichier est clairsemé avant de l’archiver, et, le cas échéant, de réduire la taille de l’archive résultante en ne vidant pas les parties vides
du fichier.

Contrôle de l’écrasement

Ces options contrôlent les actions de tar lors de l’extraction d’un fichier sur une copie existante sur le disque.

-k, --keep-old-files
Ne pas remplacer les fichiers existants lors de l’extraction.

--keep-newer-files
Ne pas remplacer les fichiers existants qui sont plus récents que leurs copies d’archive.

--keep-directory-symlink
Ne pas remplacer les liens symboliques existants vers les répertoires lors de l’extraction.

--no-overwrite-dir
Préserver les métadonnées des répertoires existants.

--one-top-level[=DIR]
Extraire tous les fichiers dans DIR, ou, si utilisé sans argument, dans un sous-répertoire nommé d’après le nom de base de l’archive (moins les suffixes de compression standard reconnus par --auto-compress).

--overwrite
Remplacer les fichiers existants lors de l’extraction.

--overwrite-dir
Remplacer les métadonnées des répertoires existants lors de l’extraction (par défaut).

--recursive-unlink
Supprimer récursivement tous les fichiers du répertoire avant de l’extraire.

--remove-files
Supprimer les fichiers du disque après les avoir ajoutés à l’archive.

--skip-old-files
Ne pas remplacer les fichiers existants lors de l’extraction, les ignorer silencieusement.

-U, --unlink-first
Supprimer chaque fichier avant de l’extraire.

-W, --verify

Vérifie l’archive après l’avoir écrite.

Sélection du flux de sortie

--ignore-command-error

Ignore les codes de sortie des sous-processus.

--no-ignore-command-error

Traite les codes de sortie non nuls des processus enfants comme des erreurs (par défaut).

-O, --to-stdout

Extrait les fichiers vers la sortie standard.

--to-command=COMMANDE

Transmet les fichiers extraits à la COMMANDE. L’argument est le nom du chemin d’un programme externe, éventuellement avec des arguments en ligne de commande. Le programme est appelé et le contenu du fichier en cours d’extraction est fourni sur son entrée standard. Des données supplémentaires sont fournies via les variables d’environnement suivantes :

TAR_FILETYPE

Type de fichier. Il s’agit d’une seule lettre ayant la signification suivante :

f     Fichier régulier
d     Répertoire
l     Lien symbolique
h     Lien physique
b     Périphérique bloc
c     Périphérique caractère

Actuellement, seuls les fichiers réguliers sont pris en charge.

TAR_MODE

Mode de fichier, un nombre octal.

TAR_FILENAME

Nom du fichier.

TAR_REALNAME

Nom du fichier tel qu’il est stocké dans l’archive.

TAR_UNAME

Nom du propriétaire du fichier.

TAR_GNAME

Nom du groupe propriétaire du fichier.

TAR_ATIME

Heure du dernier accès. Il s’agit d’un nombre décimal représentant les secondes depuis l’époque. Si l’archive fournit des heures avec une précision en nanosecondes, les nanosecondes sont ajoutées à l’horodatage après un point décimal.

TAR_MTIME

Heure de la dernière modification.

TAR_CTIME

Heure du dernier changement d’état.

TAR_SIZE

Taille du fichier.

TAR_UID

UID du propriétaire du fichier.

TAR_GID

GID du propriétaire du fichier.

De plus, les variables suivantes contiennent des informations sur le mode d’opération tar et l’archive en cours de traitement :

TAR_VERSION

Numéro de version de GNU tar.

TAR_ARCHIVE

Nom de l’archive que tar traite.

TAR_BLOCKING_FACTOR

Facteur de blocage actuel, c’est-à-dire le nombre de blocs de 512 octets dans un enregistrement.

TAR_VOLUME

Numéro d’ordre du volume que tar traite (défini lors de la lecture d’une archive multi-volumes).

TAR_FORMAT

Format de l’archive traitée. L’un des éléments suivants : gnu, oldgnu, posix, ustar, v7.

TAR_SUBCOMMAND

Une option courte (avec un tiret en tête) décrivant l’opération que tar exécute.

Gestion des attributs de fichier

--atime-preserve[=MÉTHODE]

Préserve les heures d’accès sur les fichiers extraits, soit en restaurant les heures après la lecture (MÉTHODE=remplacer, c’est la valeur par défaut), soit en ne définissant pas les heures au début (MÉTHODE=système).

--delay-directory-restore

Retarde la définition des heures de modification et des autorisations des répertoires extraits jusqu’à la fin de l’extraction. Utilisez cette option lors de l’extraction à partir d’une archive qui a un ordre de membres inhabituel.

--group=NOM[:GID]

Force l’utilisation de NOM comme groupe pour les fichiers ajoutés. Si GID n’est pas fourni, NOM peut être soit un nom d’utilisateur, soit un GID numérique. Dans ce cas, la partie manquante (GID ou nom) sera déduite de la base de données de groupes de l’hôte actuel.

Lorsqu’il est utilisé avec --group-map=FICHIER, cela n’affecte que les fichiers dont le groupe propriétaire n’est pas répertorié dans FICHIER.

--group-map=FICHIER

Lit la carte de traduction de groupe à partir de FICHIER. Les lignes vides sont ignorées. Les commentaires sont introduits par le signe # et s’étendent jusqu’à la fin de la ligne. Chaque ligne non vide de FICHIER définit une traduction pour un seul groupe. Elle doit comprendre deux champs, délimités par un nombre quelconque d’espaces :


OLDGRP NEWGRP[:NEWGID]

OLDGRP est soit un nom de groupe valide, soit un GID précédé de +. Sauf si NEWGID est fourni,
NEWGRP doit également être soit un nom de groupe valide, soit un +GID. Sinon, NEWGRP et NEWGID
n’ont pas besoin d’être répertoriés dans la base de données des groupes du système.

En conséquence, chaque fichier d’entrée dont le groupe propriétaire est OLDGRP sera stocké dans
l’archive avec le groupe propriétaire NEWGRP et le GID NEWGID.

--mode=CHANGES
Force l’utilisation du mode symbolique CHANGES pour les fichiers ajoutés.

--mtime=DATE-OU-FICHIER
Définit la date de modification pour les fichiers ajoutés. DATE-OU-FICHIER est soit une date/heure
dans un format presque arbitraire, soit le nom d’un fichier existant. Dans ce dernier cas, la date
de modification de ce fichier sera utilisée.

-m, --touch
Ne pas extraire la date de modification du fichier.

--no-delay-directory-restore
Annule l’effet de l’option --delay-directory-restore précédente.

--no-same-owner
Extrait les fichiers en utilisant votre identité (comportement par défaut pour les utilisateurs
ordinaires).

--no-same-permissions
Applique le umask de l’utilisateur lors de l’extraction des permissions de l’archive (comportement
par défaut pour les utilisateurs ordinaires).

--numeric-owner
Utilise toujours des nombres pour les noms d’utilisateur/de groupe.

--owner=NOM[:UID]
Force l’utilisation de NOM comme propriétaire pour les fichiers ajoutés. Si UID n’est pas fourni,
NOM peut être soit un nom d’utilisateur, soit un UID numérique. Dans ce cas, la partie manquante
(UID ou nom) sera déduite de la base de données des utilisateurs de l’hôte actuel.

Lorsqu’elle est utilisée avec --owner-map=FICHIER, elle affecte uniquement les fichiers dont le
propriétaire n’est pas répertorié dans FICHIER.

--owner-map=FICHIER
Lit la table de traduction des propriétaires à partir de FICHIER. Les lignes vides sont ignorées. Les
commentaires sont introduits avec le signe # et s’étendent jusqu’à la fin de la ligne. Chaque ligne
non vide de FICHIER définit une traduction pour un UID unique. Elle doit être composée de deux champs,
délimités par une quantité quelconque d’espaces :

OLDUSR NEWUSR[:NEWUID]

OLDUSR est soit un nom d’utilisateur valide, soit un UID précédé de +. Sauf si NEWUID est fourni,
NEWUSR doit également être soit un nom d’utilisateur valide, soit un +UID. Sinon, NEWUSR et NEWUID
n’ont pas besoin d’être répertoriés dans la base de données des utilisateurs du système.

En conséquence, chaque fichier d’entrée dont le propriétaire est OLDUSR sera stocké dans l’archive
avec le nom de propriétaire NEWUSR et l’UID NEWUID.

-p, --preserve-permissions, --same-permissions
Définit les permissions des fichiers extraits sur celles enregistrées dans l’archive (comportement
par défaut pour l’utilisateur root).

--same-owner
Essaie d’extraire les fichiers avec la même propriété qu’elle existe dans l’archive (comportement
par défaut pour l’utilisateur root).

-s, --preserve-order, --same-order
Indique à tar que la liste des noms de fichiers à traiter est triée dans le même ordre que les
fichiers dans l’archive.

--sort=ORDRE
Lors de la création d’une archive, trie les entrées de répertoire selon ORDRE, qui est l’un des
suivants : none, name ou inode.

La valeur par défaut est --sort=none, ce qui stocke les membres de l’archive dans le même ordre que
celui renvoyé par le système d’exploitation.

L’utilisation de --sort=name garantit que l’ordre des membres dans l’archive créée est uniforme et
reproductible.

L'utilisation de l'option --sort=inode réduit le nombre de déplacements de la tête de lecture/écriture sur le disque lors de la création de l'archive et peut ainsi considérablement accélérer l'archivage. Cet ordre de tri n'est pris en charge que si le système sous-jacent fournit les informations nécessaires.

Attributs de fichier étendus

--acls Active la prise en charge des ACL POSIX.

--no-acls

Désactive la prise en charge des ACL POSIX.

--selinux

Active la prise en charge du contexte SELinux.

--no-selinux

Désactive la prise en charge du contexte SELinux.

--xattrs

Active la prise en charge des attributs étendus.

--no-xattrs

Désactive la prise en charge des attributs étendus.

--xattrs-exclude=MOTIF

Spécifie le motif d'exclusion pour les clés xattr. MOTIF est un motif de type glob, par exemple : --xattrs-exclude='user.\*' pour inclure uniquement les attributs de l'espace de noms utilisateur.

--xattrs-include=MOTIF

Spécifie le motif d'inclusion pour les clés xattr. MOTIF est un motif de type glob.

Sélection et commutation des périphériques

-f, --file=ARCHIVE

Utilise le fichier d'archive ou le périphérique ARCHIVE. Si cette option n'est pas spécifiée, tar examine d'abord la variable d'environnement TAPE. Si elle est définie, sa valeur est utilisée comme nom d'archive. Sinon, tar suppose la valeur par défaut compilée. La valeur par défaut peut être inspectée soit à l'aide de l'option --show-defaults, soit à la fin de la sortie tar --help.

Un nom d'archive contenant un deux-points spécifie un fichier ou un périphérique sur une machine distante. La partie avant les deux-points est interprétée comme le nom de la machine ou l'adresse IP, et la partie après comme le chemin du fichier ou du périphérique, par exemple :

--file=remotehost:/dev/sr0

Un nom d'utilisateur facultatif peut être placé avant le nom d'hôte, en utilisant le symbole @ pour les séparer.

Par défaut, la machine distante est accessible via la commande rsh(1). De nos jours, il est courant d'utiliser ssh(1) à la place. Vous pouvez le faire en utilisant l'option suivante :

--rsh-command=/usr/bin/ssh

La machine distante doit avoir la commande rmt(8) installée. Si son chemin ne correspond pas à la valeur par défaut de tar, vous pouvez indiquer à tar le chemin correct à l'aide de l'option --rmt-command.

--force-local

Le fichier d'archive est local même s'il contient un deux-points.

-F, --info-script=COMMANDE, --new-volume-script=COMMANDE

Exécute la COMMANDE à la fin de chaque bande (implique -M). La commande peut inclure des arguments. Lors de son démarrage, elle hérite de l'environnement de tar ainsi que des variables suivantes :

TAR_VERSION

Numéro de version de GNU tar.

TAR_ARCHIVE

Nom de l'archive traitée par tar.

TAR_BLOCKING_FACTOR

Facteur de blocage actuel, c'est-à-dire le nombre de blocs de 512 octets dans un enregistrement.

TAR_VOLUME

Numéro de volume du volume traité par tar (défini lors de la lecture d'une archive multi-volume).

TAR_FORMAT

Format de l'archive traitée. L'une des valeurs : gnu, oldgnu, posix, ustar, v7.

TAR_SUBCOMMAND

Une option courte (avec un tiret en tête) décrivant l'opération exécutée par tar.

TAR_FD

Descripteur de fichier qui peut être utilisé pour communiquer le nom du nouveau volume à tar.

Si le script info échoue, tar se termine ; sinon, il commence à écrire le volume suivant.


-L, --tape-length=N
Change la bande après avoir écrit Nx1024 octets. Si N est suivi d'un suffixe de taille (voir la sous-section Suffixes de taille ci-dessous), le suffixe spécifie le facteur multiplicatif à utiliser au lieu de 1024.

Cette option implique -M.

-M, --multi-volume
Créer/lister/extraire une archive multi-volume.

--rmt-command=COMMANDE
Utiliser COMMANDE au lieu de rmt pour accéder aux archives distantes. Voir la description de l'option -f ci-dessus.

--rsh-command=COMMANDE
Utiliser COMMANDE au lieu de rsh pour accéder aux archives distantes. Voir la description de l'option -f ci-dessus.

--volno-file=FICHIER
Lorsque cette option est utilisée conjointement avec --multi-volume, tar conserve un suivi du volume de l'archive multi-volume dans lequel il travaille dans FICHIER.

Blocage de périphérique

-b, --blocking-factor=BLOCS
Définir la taille des enregistrements à BLOCSx512 octets.

-B, --read-full-records
Lors de la liste ou de l'extraction, accepter les enregistrements d'entrée incomplets après le marqueur de fin de fichier.

-i, --ignore-zeros
Ignorer les blocs remplis de zéros dans l'archive. Normalement, deux blocs consécutifs de 512 octets remplis de zéros signifient la fin de fichier, et tar arrête de lire après avoir rencontré ceux-ci. Cette option indique qu'il faut continuer la lecture et est utile pour lire les archives créées avec l'option -A.

--record-size=NOMBRE
Définir la taille des enregistrements. NOMBRE est le nombre d'octets par enregistrement. Il doit être un multiple de 512. Il peut être suivi d'un suffixe de taille, par exemple --record-size=10K, pour 10 kilo-octets. Voir la sous-section Suffixes de taille, pour une liste des suffixes valides.

Sélection du format d'archive

-H, --format=FORMAT
Créer une archive du format donné. Les formats valides sont :

gnu    Format GNU tar 1.13.x

oldgnu Format GNU tel que tar <= 1.12.

pax, posix
Format POSIX 1003.1-2001 (pax).

ustar  Format POSIX 1003.1-1988 (ustar).

v7     Ancien format V7 tar.

--old-archive, --portability
Identique à --format=v7.

--pax-option=mot-clé[[:]=valeur][,mot-clé[[:]=valeur]]...
Contrôler les mots-clés pax lors de la création d'archives PAX (-H pax). Cette option est équivalente à l'option -o de l'utilitaire pax(1).

--posix
Identique à --format=posix.

-V, --label=TEXTE
Créer une archive avec le nom de volume TEXTE. Lors de la liste ou de l'extraction, utiliser TEXTE comme un modèle pour le nom de volume.

Options de compression

-a, --auto-compress
Utiliser le suffixe de l'archive pour déterminer le programme de compression.

-I, --use-compress-program=COMMANDE
Filtrer les données à travers COMMANDE. Il doit accepter l'option -d, pour la décompression. L'argument peut contenir des options de ligne de commande.

-j, --bzip2
Filtrer l'archive à travers [bzip2]({filename}bzip2.md)(1).

-J, --xz
Filtrer l'archive à travers [xz]({filename}../../xz)(1).

--lzip Filtrer l'archive à travers lzip(1).

--lzma Filtrer l'archive à travers lzma(1).

--lzop Filtrer l'archive à travers lzop(1).

--no-auto-compress
Ne pas utiliser le suffixe de l'archive pour déterminer le programme de compression.

-z, --gzip, --gunzip, --ungzip
Filtrer l'archive à travers [gzip]({filename}../../gzip)(1).

-Z, --compress, --uncompress
Filtrer l'archive à travers compress(1).

--zstd Filtrer l'archive à l'aide de zstd(1).

Sélection de fichiers locaux

--add-file=FICHIER

Ajouter FICHIER à l'archive (utile si son nom commence par un tiret).

--backup[=CONTROL]

Effectuer une sauvegarde avant la suppression. L'argument CONTROL, s'il est fourni, contrôle la politique de sauvegarde. Ses valeurs valides sont :

none, off

Ne jamais effectuer de sauvegardes.

t, numbered

Effectuer des sauvegardes numérotées.

nil, existing

Effectuer des sauvegardes numérotées si des sauvegardes numérotées existent, sinon effectuer des sauvegardes simples.

never, simple

Toujours effectuer des sauvegardes simples.

Si CONTROL n'est pas spécifié, la valeur est extraite de la variable d'environnement VERSION_CONTROL. Si celle-ci n'est pas définie, existing est supposé.

-C, --directory=DIR

Se déplacer vers DIR avant d'effectuer des opérations. Cette option est sensible à l'ordre, c'est-à-dire qu'elle affecte toutes les options suivantes.

--exclude=MOTIF

Exclure les fichiers correspondant au MOTIF, un motif générique de type glob(3).

--exclude-backups

Exclure les fichiers de sauvegarde et de verrouillage.

--exclude-caches

Exclure le contenu des répertoires contenant le fichier CACHEDIR.TAG, à l'exception du fichier lui-même.

--exclude-caches-all

Exclure les répertoires contenant le fichier CACHEDIR.TAG et le fichier lui-même.

--exclude-caches-under

Exclure tout ce qui se trouve dans les répertoires contenant CACHEDIR.TAG.

--exclude-ignore=FICHIER

Avant de décompresser un répertoire, vérifier s'il contient le FICHIER. Si c'est le cas, lire les motifs d'exclusion à partir de ce fichier. Les motifs n'affectent que le répertoire lui-même.

--exclude-ignore-recursive=FICHIER

Identique à --exclude-ignore, sauf que les motifs du FICHIER affectent le répertoire et tous ses sous-répertoires.

--exclude-tag=FICHIER

Exclure le contenu des répertoires contenant le FICHIER, à l'exception du FICHIER lui-même.

--exclude-tag-all=FICHIER

Exclure les répertoires contenant le FICHIER.

--exclude-tag-under=FICHIER

Exclure tout ce qui se trouve dans les répertoires contenant le FICHIER.

--exclude-vcs

Exclure les répertoires du système de contrôle de version.

--exclude-vcs-ignores

Exclure les fichiers qui correspondent aux motifs lus dans les fichiers d'exclusion spécifiques au VCS. Les fichiers pris en charge sont : .cvsignore, .gitignore, .bzrignore et .hgignore.

-h, --dereference

Suivre les liens symboliques ; archiver et décompresser les fichiers vers lesquels ils pointent.

--hard-dereference

Suivre les liens physiques ; archiver et décompresser les fichiers auxquels ils se réfèrent.

-K, --starting-file=MEMBRE

Commencer à l'élément donné dans l'archive.

--newer-mtime=DATE

Traiter les fichiers dont les données ont été modifiées après la DATE. Si DATE commence par / ou ., elle est considérée comme un nom de fichier ; la date de modification de ce fichier est utilisée comme date.

--no-null

Désactiver l'effet de l'option --null précédente.

--no-recursion

Éviter de descendre automatiquement dans les répertoires.

--no-unquote

Ne pas supprimer les guillemets des noms de fichiers ou de membres.

--no-verbatim-files-from

Traiter chaque ligne lue à partir d'une liste de fichiers comme si elle était fournie dans la ligne de commande. C'est-à-dire que les espaces de début et de fin sont supprimés et, si la chaîne résultante commence par un tiret, elle est traitée comme une option de ligne de commande tar.

Il s'agit du comportement par défaut. L'option --no-verbatim-files-from est fournie comme moyen de le restaurer après l'option --verbatim-files-from.


Cette option est positionnelle : elle affecte toutes les options --files-from qui apparaissent après elle dans la ligne de commande, jusqu’à l’option --verbatim-files-from ou la fin de la ligne, selon la première option rencontrée.

Elle est implicite avec l’option --no-null.

--null Indique aux options -T suivantes de lire les noms terminés par un caractère nul et de les traiter littéralement (désactive le traitement spécial des noms qui commencent par un tiret).

Voir également --verbatim-files-from.

-N, --newer=DATE, --after-date=DATE

Ne conserve que les fichiers plus récents que DATE. Si DATE commence par / ou ., il est interprété comme un nom de fichier ; l’heure de modification de ce fichier est utilisée comme date.

--one-file-system

Reste dans le système de fichiers local lors de la création de l’archive.

-P, --absolute-names

Ne supprime pas les barres obliques initiales des noms de fichiers lors de la création d’archives.

--recursion

Parcourt les répertoires (par défaut).

--suffix=STRING

Effectue une sauvegarde avant la suppression, en remplaçant le suffixe habituel. Le suffixe par défaut est ~, à moins qu’il ne soit remplacé par la variable d’environnement SIMPLE_BACKUP_SUFFIX.

-T, --files-from=FILE

Obtient les noms à extraire ou à créer à partir de FILE.

Sauf indication contraire, le fichier FILE doit contenir une liste de noms séparés par un saut de ligne ASCII (c’est-à-dire un nom par ligne). Les noms lus sont traités de la même manière que les arguments de la ligne de commande. Ils subissent une suppression des guillemets et une division en mots, et toute chaîne qui commence par un - est traitée comme une option de la ligne de commande tar.

Si ce comportement est indésirable, il peut être désactivé à l’aide de l’option --verbatim-files-from.

L’option --null indique à tar que les noms dans FILE sont séparés par un caractère NUL ASCII au lieu d’un saut de ligne. Elle est utile si la liste est générée par la commande find(1) avec l’option -print0.

--unquote

Supprime les guillemets des noms de fichiers ou de membres (par défaut).

--verbatim-files-from

Traite chaque ligne obtenue à partir d’une liste de fichiers comme un nom de fichier, même si elle commence par un tiret. Les listes de fichiers sont fournies avec l’option --files-from (-T). Le comportement par défaut consiste à traiter les noms fournis dans les listes de fichiers comme s’ils étaient entrés dans la ligne de commande, c’est-à-dire que tous les noms commençant par un tiret sont traités comme des options tar. L’option --verbatim-files-from désactive ce comportement.

Cette option affecte toutes les options --files-from qui apparaissent après elle dans la ligne de commande. Son effet est annulé par l’option --no-verbatim-files-from.

Cette option est implicite avec l’option --null.

Voir également --add-file.

-X, --exclude-from=FILE

Exclut les fichiers correspondant aux motifs répertoriés dans FILE.

Transformations des noms de fichiers

--strip-components=NUMBER

Supprime NUMBER de composants initiaux des noms de fichiers lors de l’extraction.

--transform=EXPRESSION, --xform=EXPRESSION

Utilise l’expression sed REPLACE pour transformer les noms de fichiers.

Options de correspondance des noms de fichiers

Ces options affectent à la fois les motifs d’exclusion et d’inclusion.

--anchored

Les motifs correspondent au début du nom du fichier.

--ignore-case

Ignore la casse.

--no-anchored

Les motifs correspondent après n’importe quel /. (par défaut pour l’exclusion).

--no-ignore-case

Correspondance sensible à la casse (par défaut).

--no-wildcards

Correspondance de chaîne littérale.

--no-wildcards-match-slash

Les caractères génériques ne correspondent pas à /.

--wildcards

Utilise les caractères génériques (par défaut pour l’exclusion).


--wildcards-match-slash

Les caractères génériques correspondent à / (par défaut pour l’exclusion).

Sortie informative

--checkpoint[=N]

Affiche les messages de progression tous les N enregistrements (par défaut : 10).

--checkpoint-action=ACTION

Exécute ACTION à chaque point de contrôle.

--clamp-mtime

Définit uniquement l’heure si le fichier est plus récent que celui spécifié avec --mtime.

--full-time

Affiche l’heure du fichier avec sa résolution complète.

--index-file=FILE

Envoie une sortie détaillée vers FILE.

-l, --check-links

Affiche un message si tous les liens ne sont pas extraits.

--no-quote-chars=STRING

Désactive la mise entre guillemets pour les caractères de STRING.

--quote-chars=STRING

Met en guillemet également les caractères de STRING.

--quoting-style=STYLE

Définit le style de mise en guillemet pour les noms de fichiers et de membres. Les valeurs valides pour STYLE sont : literal, shell, shell-always, c, c-maybe, escape, locale, clocale.

-R, --block-number

Affiche le numéro de bloc dans l’archive avec chaque message.

--show-omitted-dirs

Lors de l’énumération ou de l’extraction, affiche chaque répertoire qui ne correspond pas aux critères de recherche.

--show-transformed-names, --show-stored-names

Affiche les noms de fichiers ou d’archives après transformation par les options --strip et --transform.

--totals[=SIGNAL]

Affiche le nombre total d’octets après le traitement de l’archive. Si SIGNAL est spécifié, affiche le nombre total d’octets lorsque ce signal est reçu. Les signaux autorisés sont : SIGHUP, SIGQUIT, SIGINT, SIGUSR1 et SIGUSR2. Le préfixe SIG peut être omis.

--utc

Affiche les heures de modification des fichiers en UTC.

-v, --verbose

Affiche de manière détaillée les fichiers traités. Chaque instance de cette option sur la ligne de commande augmente le niveau de détail d’une unité. Le niveau de détail maximal est de 3. Pour une discussion détaillée de la façon dont les différents niveaux de détail affectent la sortie de tar, veuillez vous référer au Manuel GNU Tar, sous-section 2.5.2 « L’option « --verbose » ».

--warning=KEYWORD

Active ou désactive les messages d’avertissement identifiés par KEYWORD. Les messages sont supprimés si KEYWORD est préfixé de no- et activés dans le cas contraire.

Plusieurs options --warning s’accumulent.

Mots-clés contrôlant le fonctionnement général de tar :

all

Active tous les messages d’avertissement. C’est la valeur par défaut.

none

Désactive tous les messages d’avertissement.

filename-with-nuls
« %s : le nom de fichier lu contient un caractère nul »

alone-zero-block
« Un bloc zéro unique à %s »

Mots-clés applicables pour tar --create :

cachedir
« %s : contient une balise de répertoire de cache %s ; %s »

file-shrank
« %s : le fichier a diminué de %s octets ; remplissage avec des zéros »

xdev
« %s : le fichier se trouve sur un système de fichiers différent ; non enregistré »

file-ignored
« %s : type de fichier inconnu ; fichier ignoré »
« %s : socket ignoré »
« %s : porte ignorée »

file-unchanged
« %s : le fichier n’a pas changé ; non enregistré »

ignore-archive
« %s : l’archive ne peut pas contenir elle-même ; non enregistré »

file-removed
« %s : le fichier a été supprimé avant que nous ne le lisions »

file-changed
« %s : le fichier a changé pendant que nous le lisions »

failed-read

Supprime les avertissements concernant les fichiers ou répertoires illisibles. Ce mot-clé ne s’applique que s’il est utilisé avec l’option --ignore-failed-read.

Mots-clés applicables pour tar --extract :

existing-file
« %s : saut du fichier existant »

timestamp
"%s : horodatage manifestement ancien %s"
"%s : le horodatage %s est dans %s secondes dans le futur"

contiguous-cast
"Extraction des fichiers contigus en tant que fichiers normaux"

symlink-cast
"Tentative d’extraction des liens symboliques en tant que liens physiques"

unknown-cast
"%s : type de fichier inconnu « %c », extrait en tant que fichier normal"

ignore-newer
"Le fichier %s actuel est plus récent ou de même ancienneté"

unknown-keyword
"Ignorer le mot-clé d’en-tête étendu inconnu « %s »"

decompress-program

Contrôle la description détaillée des erreurs qui se produisent lors de l’exécution de programmes de décompression alternatifs. Cet avertissement est désactivé par défaut (sauf si l’option --verbose est utilisée). Un exemple courant de ce que vous pouvez obtenir en utilisant cet avertissement est :

$ tar --warning=decompress-program -x -f archive.Z
tar (enfant) : impossible d’exécuter compress : fichier ou répertoire inexistant
tar (enfant) : tentative avec gzip

Cela signifie que tar a d’abord tenté de décompresser archive.Z en utilisant compress, et, lorsque cela a échoué, il est passé à gzip.

record-size
"Taille de l’enregistrement = %lu blocs"

Mots-clés contrôlant l’extraction incrémentale :

rename-directory
"%s : le répertoire a été renommé à partir de %s"
"%s : le répertoire a été renommé"

new-directory
"%s : le répertoire est nouveau"

xdev   "%s : le répertoire se trouve sur un autre périphérique : ne pas purger"

bad-dumpdir
"dumpdir malformé : « X » n’a jamais été utilisé"

-w, --interactive, --confirmation

Demander une confirmation pour chaque action.

Options de compatibilité

-o  Lors de la création, équivalent à --old-archive. Lors de l’extraction, équivalent à --no-same-owner.

Suffixes de taille

Suffixe   Unités      Équivalent en octets

b    Blocs       SIZE x 512
B    Kilooctets   SIZE x 1024
c    Octets      SIZE
G    Gigaoctets   SIZE x 1024^3
K    Kilooctets   SIZE x 1024
k    Kilooctets   SIZE x 1024
M    Mégaoctets   SIZE x 1024^2
P    Pétaoctets   SIZE x 1024^5
T    Téraoctets   SIZE x 1024^4
w    Mots       SIZE x 2

VALEUR DE RETOUR

Le code de sortie de tar indique si l’opération demandée a pu être effectuée avec succès, et, le cas échéant, quel type d’erreur s’est produit.

0   Terminaison réussie.

1   Certains fichiers sont différents. Si tar a été appelé avec l’option de ligne de commande --compare (--diff, -d), cela signifie que certains fichiers de l’archive diffèrent de leurs homologues sur le disque. Si tar a reçu l’une des options --create, --append ou --update, ce code de sortie signifie que certains fichiers ont été modifiés pendant leur archivage et que l’archive résultante ne contient pas la copie exacte de l’ensemble des fichiers.

2   Erreur fatale. Cela signifie qu’une erreur fatale et irrécupérable s’est produite.

Si un sous-processus qui a été invoqué par tar a quitté avec un code de sortie différent de zéro, tar lui-même quitte également avec ce code. Cela peut se produire, par exemple, si une option de compression (par exemple, -z) a été utilisée et que le programme de compression externe a échoué. Un autre exemple est l’échec de rmt lors d’une sauvegarde vers un périphérique distant.


VOIR AUSSI

bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1).

Manuel complet de tar : exécutez info tar ou utilisez le mode info d’emacs(1) pour le lire.

Des copies en ligne de la documentation GNU tar dans différents formats sont disponibles à :

https://www.gnu.org/software/tar/manual

SIGNALEMENT DE BUGS

Signalez les bugs à <_>.

Copyright © 2023 Free Software Foundation, Inc. Licence GPLv3 : GNU GPL version 3 ou ultérieure [http://gnu.org/licenses/gpl.html] Ceci est un logiciel libre : vous êtes libre de le modifier et de le redistribuer. Il n’y a AUCUNE GARANTIE, dans la mesure permise par la loi.