TAR(1)	Commandes générales de FreeBSD
 

NOM

tar - Archivage sur bande, manipulation de fichiers "tar".

 

SYNOPSIS

     tar [[-]options-groupées] [flags-style-gnu] [fichiers | -C
	 répertoire] ...

 

DESCRIPTION

Tar est le diminutif de programme d'archivage sur bande (tape archiever), ainsi dénommé pour raison historique. Ce programme crée, ajoute des fichiers à ou extrait des fichiers d'une archive au format "tar", appelée fichier tar. Un fichier tar est souvent une bande magnétique mais peut aussi être une disquette ou un fichier normal.

Le premier argument de la ligne de commande tar est habituellement un mot formé par le groupement des fonctions et modificateurs, éventuellement précédé d'un trait d'union. Ce mot peut être formé d'une seule lettre parmis A, c, d, r, t, u et x pour ajouter, créer, différencier, remplacer, afficher la table des matières, mettre à jour ou extraire (voir les descriptions ci-après). Ce mot peut aussi contenir d'autres modificateurs de fonctions décrits plus loin, dont certains demandent des arguments dans la ligne de commande, dans l'ordre où ils apparaissent dans le mot (voir les exemples). Les fonctions et modificateurs de fonctions peuvent aussi être spécifiés suivant les conventions GNU (précédés de deux traits d'union, une fonction ou modificateur par mot). Les arguments de la ligne de commande qui désignent les fichiers à ajouter, extraire ou lister de l'archive peuvent être donnés comme dans l'interpréteur de commandes en faisant correspondre les chaines.

 

FONCTIONS

Une et une seule des fonctions suivantes doit être spécifiée :

-A

--catenate

--concatenate

Ajoute le contenu du fichier donné, qui doit, lui-même, être une archive tar, à la fin de l'archive (effaçant l'ancien bloc fin-d-archive). L'effet obtenu est l'ajout des fichiers de l'archive donnée à la fin de la première archive et non l'ajout de l'archive comme élément de la première. Note : Cette option nécessite une archive réinscriptible et donc ne marche pas sur les bandes d'un quart de pouce.

-c

--create

Crée une nouvelle archive (ou la vide si elle existe) et écrit les fichiers donnés dedans.

-d

--diff

--compare

Trouve les différences entre les fichiers de l'archive et leurs correspondants dans le système.

--delete

Efface de l'archive les fichiers donnés (ne marche pas sur les bandes d'un quart de pouce).

-r

--append

Ajoute les fichiers donnés à la fin de l'archive (ne marche pas sur les bandes d'un quart de pouce).

-t

--list

Liste le contenu d'une archive. Si des noms de fichiers sont donnés en arguments, seuls ces fichiers sont listés sinon, tous les fichiers sont listés.

-u

--update

Ajoute les fichiers donnés à l'archive uniquement si leur date de dernière modification est plus récente que leurs correspondant (s'ils existent) de l'archive. Ne marche pas sur les bandes d'un quart de pouce.

-x

--extract

--get

Extrait les fichiers de l'archive. Le possesseur, date de modification et permissions sont remis si possible. Si aucun argument fichier n'est donné, tous sont extraits. Si le nom d'un fichier correspond au nom d'un répertoire sur la bande, ce dernier et son contenu sont extraits (ainsi que les sous-répertoires). Si l'archive contient plus d'une correspondance d'un même fichier, (voir la commande --append ci-dessus), la dernière extraite écrasera les précédentes.

 

OPTIONS

Les autres options de tar peuvent être combinées comme bon vous semble. Les options d'une lettre peuvent être groupées avec le mot de la commande. Les options verbeuses qui demandent des arguments sont directement suivies par ceux-ci. Les options d'une lettre demandent des lignes de commandes successives (voir les exemples plus loin).

--help

Affiche la liste et une brève description de toutes les commandes d'options de tar.

--atime-preserve

Restaure la date de modification des fichiers écrits dans l'archive (notez que cela change la date de l'inode !).

-b

--block-size nombre

Détermine la taille du bloc à lire ou écrire en nombre*512 octets.

-B

--read-full-blocks

Réassemble des petits blocs en un complet (pour passer dans les tubes (pipes) 4.2BSD).

-C répertoire

--directory répertoire

Change de répertoire avant de traiter les arguments restant.

--checkpoint

Affiche le tampon lecture-écriture lors de la lecture ou de l'écriture de l'archive.

-f [hôte:] fichier

--file [hôte:] fichier

Lit ou écrit le fichier spécifié (par défaut /dev/rsa0). Si un hôte est donné, tar utilisera rmt(8) pour lire ou écrire le fichier sur la machine distante. "-" peut être utilisé à la place du nom de fichier pour lire ou écrire à partir de l'entrée ou de la sortie standard.

--force-local

L'archive est locale même si elle contient les deux points ":".

-F file

--info-script file

--new-volume-script file

Exécute un script à la fin de chaque volume d'archivage (implique l'option -M).

--fast-read

Arrête après tout "non-wildcard" trouvé dans les fichiers cible de l'archive.

-G

--incremental

Crée, liste, extrait les sauvegardes incrémentales à l'ancien format GNU.

-g fichier

--listed-incremental fichier

Crée, liste, extrait les sauvegardes incrémentales au nouveau format GNU.

-h

--dereference

N'écrit pas les liens symboliques mais les données des fichiers visés.

-i

--ignore-zeros

Ignore les blocs de zéros dans l'archive (qui veulent souvent dire Fin-de-Fichier EOF).

--ignore-failed-read

Ne quitte pas avec le statut non-zéro en cas de fichiers illisibles.

-k

--keep-old-files

Conserve les fichiers qui existent déja sur le disque, ne les écrase pas par ceux de l'archive.

-K fichier

--starting-file fichier

Commence au fichier de l'archive.

-l

--one-file-system

Reste sur le système de fichier local lors de la création d'une archive (ne passe pas les points de montage).

-L nombre

--tape-length nombre

Change de cassette après avoir écrit nombre * 1024 octets.

-m

--modification-time

N'extrait pas les date de dernière modification des fichiers.

-M

--multi-volume

Crée, liste, extrait des archives multi-volume.

-n

--norecurse

Ne va pas dans les sous-répertoires lors de la création.

--volno-file fichier

Fichier et numéro de volume avec lequel commencer.

-N date

--after-date date

--newer date

Ne prend que les fichiers dont la date de création est plus récente que date.

--newer-mtime date

Ne prend que les fichiers dont la date de dernière modification est plus récente que date.

-o

--old-archive

--portability

Ecrit l'archive au format V7 plutôt que POSIX.

-O

--to-stdout

Extrait les fichiers sur la sortie standard.

-p

--same-permissions

Extrait toutes les informations de protection.

--preserve

A le même effect que -p -s.

-P

--absolute-paths

Ne retire pas le "/" débutant les noms de fichiers.

-R

--record-number

Montre le numéro d'enregistrement dans l'archive avec chaque message.

--remove-files

Efface les fichiers après les avoir ajoutés à l'archive.

-s

--same-order

--preserve-order

La liste des noms de fichiers est triée de manière à correspondre à ceux de l'archive.

--show-omitted-dirs

Affiche les répertoires qui ont été omis lors du traitement de l'archive.

-S

--sparse

Manipule les fichiers dispercés (sparse) de manière efficace.

-T fichier

--files-from fichier

Prend les noms de fichiers à extraire ou créer à partir du fichier, un par ligne.

--null

Modifie le comportement de -T pour prendre en compte les noms terminés par null. Désactive -C.

--totals

Affiche le total des octets écrits avec --create.

-v

--verbose

Liste les fichiers écrits dans l'archive avec --create ou extraits avec --extract. Liste aussi les protections avec --list.

-V nom-de-volume

--label nom-de-volume

Crée l'archive avec le nom-de-volume donné.

--version

Affiche la version du programme tar.

-w

--interactive

--confirmation

Demande confirmation à chaque action.

-W

--verify

Tente de vérifier l'archive une fois écrite.

--exclude modèle

Exclus les fichiers correspondant au modèle (ne les extrait pas, ne les ajoute pas ou ne les liste pas).

-X fichier

--exclude-from fichier

Exclus les fichiers inscrits dans le fichier.

-y

--bzip2

--bunzip2

Filtre l'archive à travers bzip2(1).

-Z

--compress

--uncompress

Filtre l'archive à travers compress(1).

-z

--gzip

--gunzip

Filtre l'archive à travers gzip(1).

--use-compress-program programme

Filtre l'archive à travers le programme (qui doit accepter l'option -d pour décompresser).

--block-compress

Bloque la sortie des programmes de compression pour les bandes et les disquettes (sinon les écritures peuvent être de taille inattendues et rejetées par le pilote).

-[0-7][lmh]

Définit le périférique à bande et sa densité.

--unlink

Délie les fichiers avant de les créer.

 

EXEMPLES

Pour créer une archive sur le lecteur de bandes /dev/rsa0, avec une taille de 20 blocs, contenant les fichiers nommés "bertrand" et "arnaud", vous pouvez taper

	   tar cfb /dev/rsa0 20 bertrand arnaud

ou

	   tar --create --file /dev/rsa0 --block-size 20 bertrand arnaud

Notez que les flags -f et -b demandent tout deux des arguments qu'ils prennent, dans la ligne de commande, dans l'ordre où ils sont listés dans les options groupées (ici : cfb).

Comme /dev/rsa0 est le périférique par défaut et 20 la taille par défaut, l'example ci-dessus aurait pu être simplement tapé :

	   tar c bertrand arnaud

Pour extraire tous les sources et entête C d'une archive nommée "sauvegarde.tar", tapez :

	   tar xf sauvegarde.tar '*.[ch]'

Notez que le modèle doit être entre guillemets pour éviter que l'interpréteur de commandes ne le traite et le change par les fichiers correspondant dans le répertoire courant (l'interpréteur n'a, bien sûr, pas accès aux fichiers de l'archive).

Pour déplacer une arborescence, utilisez :

	   tar -cf - -C origine . | tar xpf - -C destination

Pour compresser une archive sur disquette, avec gzip, utilisez une commande comme :

	   tar --block-compress -z -c -v -f /dev/rfd1a -b 36 tar0

Notez que vous ne pouvez pas combiner les flags et les --flags. Vous pouvez utiliser les lettres seules comme ci-dessus plutôt que de taper :

	   tar --block-compress --gzip --verbose --file /dev/rfd1a --block-
	   size 20 tar/

La disquette ci-dessus peut être listée avec :

	   tar tvfbz /dev/rfd1a 36

Pour fusionner deux archives tar en une seule, utilisez :

	   tar Af archive1.tar archive2.tar

Cela ajoute les fichiers de archive2.tar à la fin de archive1.tar. Notez qu'on peut simplement utiliser :

	   cat archive2.tar >> archive1.tar

grâce à la Fin-de-Fichier (EOF) à la fin des archives tar.

Pour archiver tous les fichiers du répertoire srcdir qui ont été modifiés après le 9 février 1997 à 13:15, utilisez :

	   tar -c -f sauvegarde.tar --newer-mtime '9 Feb 1997 13:15' srcdir/

La date peut aussi être tapée "02/09/97 13:15", "1997-02-09 13:15", "13:15 9 Feb 1997", "Feb 9 13:15 1997 ", "Feb. 9, 1997 1:15pm", "09-Feb", "3 weeks ago" ou "May first Sunday". Pour le fuseau horaire, utilisez par exemple "13:15 CEST" ou "13:15+200".

 

ENVIRONNEMENT

Le programme tar tient compte des variables d'environnement suivantes :

POSIXLY_CORRECT

Normalement, tar traite les flags qui apparaissent avec la liste des fichiers. Si cette variable est définie, tar considère le premier argument non-flag comme la fin du traitement de ceux-ci, comme spécifié par POSIX.

SHELL

En mode interractif, un sous-shell peut être demandé à l'invite. Ce sera "/bin/sh" si la variable SHELL n'est pas définie.

TAPE

Change le lecteur de bandes par défaut de tar (qui est toujours remplacé en cas d'option -f).

FICHIERS

/dev/rsa0 le lecteur de bandes par défaut.

 

VOIR AUSSI

bzip2(1), compress(1), gzip(1), pax(1), ft(8), rmt(8)

 

HISTORIQUE

Le format tar , datant de la sixième édition d'Unix, est riche en histoire. L'implémentation actuelle de tar est celle de GNU, écrite par John Gilmore pour le domaine public.

 

AUTEURS

Des milliers de personnes dont (comme c'est listé dans le fichier ChangeLog des sources) John Gilmore (auteur original de la version du domaine public),

Jay Fenlason (premier auteur GNU)

Joy Kendall,

Jim Kingdon,

David J. MacKenzie,

Michael I Bushnell,

Noah Friedman et les nombreux autres qui ont contribué aux corrections et ajouts.

Les pages de manuel obtenues auprès de NetBSD 1.0.

Guillain Seuillot pour la traduction française.

 

BUGS

La fonction -C ne marche pas comme dans les versions historiques de tar et est certainement fourbe.

La fonction -A devrait pouvoir unir un nombre quelconque d'archives tar mais ne le fait pas. Les blocs Fin-d'Archive restent en place pour la seconde et suivantes archives.

 
FreeBSD 			25 août 1997
Traduction française le 25 mars 2000


NOM | SYNOPSIS | DESCRIPTION | FONCTIONS | OPTIONS | EXEMPLES | ENVIRONNEMENT | FICHIERS | VOIR AUSSI | HISTORIQUE | AUTEURS | BUGS