Le tar
La commande crée des fichiers tar en convertissant un groupe de fichiers en une archive. Il peut également extraire des archives tar, afficher une liste des fichiers inclus dans l'archive, ajouter des fichiers supplémentaires à une archive existante et divers autres types d'opérations.
Tar a été conçu à l'origine pour créer des archives afin de stocker des fichiers sur bande magnétique, c'est pourquoi il porte le nom "T singe AR ciboulette".
Cet article montre comment utiliser le tar
commande pour extraire, répertorier et créer des archives tar grâce à des exemples pratiques et des explications détaillées des options tar les plus courantes.
tar
Syntaxe de commande #
Il existe deux versions de tar, BSD tar et GNU tar, avec quelques différences fonctionnelles. La plupart des systèmes Linux sont livrés avec GNU tar préinstallé par défaut.
La syntaxe générale du tar
commande est la suivante :
tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]
OPERATION
- Un seul argument d'opération est autorisé et obligatoire. Les opérations les plus fréquemment utilisées sont :--create
(-c
) - Créer une nouvelle archive tar.--extract
(-x
) - Extrayez l'intégralité de l'archive ou un ou plusieurs fichiers d'une archive.--list
(-t
) - Afficher une liste des fichiers inclus dans l'archive
OPTIONS
- Les opérations les plus fréquemment utilisées sont :--verbose
(-v
) - Afficher les fichiers en cours de traitement par la commande tar.--file=archive=name
(-f archive-name
) - Spécifie le nom du fichier d'archive.
ARCHIVE_NAME
- Le nom de l'archive.FILE_NAME(s)
- Une liste de noms de fichiers séparés par des espaces à extraire de l'archive. S'il n'est pas fourni, l'intégralité de l'archive est extraite.
Lors de l'exécution des commandes tar, vous pouvez utiliser la forme longue ou courte du tar
opérations et options. Les formulaires longs sont plus lisibles, tandis que les formulaires courts sont plus rapides à taper. Les options de forme longue sont précédées d'un double tiret (--
). Les options de forme courte sont précédées d'un seul tiret (-
), qui peut être omis.
Création de l'archive Tar #
Tar prend en charge une vaste gamme de programmes de compression tels que gzip
, bzip2
, lzip
, lzma
, lzop
, xz
et compress
. Lors de la création d'archives tar compressées, la convention acceptée consiste à ajouter le suffixe compresseur au nom du fichier d'archive. Par exemple, si une archive a été compressée avec gzip
, il doit être nommé archive.tar.gz.
Pour créer une archive tar, utilisez le -c
option suivie de -f
et le nom de l'archive.
Par exemple, pour créer une archive nommée archive.tar
à partir des fichiers nommés file1
, file2
, file3
, vous exécuterez la commande suivante :
tar -cf archive.tar file1 file2 file3
Voici la commande équivalente utilisant les options de forme longue :
tar --create --file=archive.tar file1 file2 file3
Vous pouvez créer des archives à partir du contenu d'un ou plusieurs répertoires ou fichiers. Par défaut, les répertoires sont archivés de manière récursive sauf si --no-recursion
l'option est spécifiée.
L'exemple suivant créera une archive nommée user_backup.tar
du /home/user
répertoire :
tar -cf backup.tar /home/user
Utilisez le -v
option si vous voulez voir les fichiers en cours de traitement.
Création de l'archive Tar Gz #
Gzip est l'algorithme le plus populaire pour compresser les fichiers tar. Lors de la compression d'archives tar avec gzip, le nom de l'archive doit se terminer soit par tar.gz
ou tgz
.
Le -z
l'option indique à tar de compresser l'archive en utilisant le gzip
algorithme tel qu'il est créé. Par exemple, pour créer une archive tar.gz à partir de fichiers donnés, vous exécuterez la commande suivante :
tar -czf archive.tar.gz file1 file2
Création de l'archive Tar Bz2 #
Un autre algorithme populaire pour compresser les fichiers tar est bzip2. Lors de l'utilisation de bzip2, le nom de l'archive doit se terminer soit par tar.bz2
ou tbz
.
Compresser l'archive avec le bzip2
algorithme, appelez tar
avec le -j
option. La commande suivante crée un tar.bz2
archive à partir des fichiers donnés :
tar -cjf archive.tar.bz2 file1 file2
Liste des archives tar #
Lorsqu'il est utilisé avec la --list
(-t
), l'option tar
La commande répertorie le contenu d'une archive tar sans l'extraire.
La commande ci-dessous, listera le contenu de archive.tar
fichier :
tar -tf archive.tar
file1
file2
file3
Pour obtenir plus d'informations telles que le propriétaire du fichier, la taille du fichier, l'horodatage, utilisez le --verbose
(-v
) :
tar -tvf archive.tar
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file1
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file2
-rw-r--r-- linuxize/users 0 2018-09-08 01:19 file3
Extraction de l'archive tar #
La plupart des fichiers archivés sous Linux sont archivés et compressés au format tar ou tar.gz. Il est important de savoir comment extraire ces fichiers à partir de la ligne de commande.
Pour extraire une archive tar, utilisez le --extract
(-x
) suivi du nom de l'archive :
tar -xf archive.tar
Il est également courant d'ajouter le -v
option pour imprimer les noms des fichiers en cours d'extraction.
tar -xvf archive.tar
Extraire l'archive tar dans un répertoire différent #
Par défaut, tar extraira le contenu de l'archive dans le répertoire de travail actuel. Utilisez le --directory
(-C
) pour extraire les fichiers d'archive dans un répertoire spécifique :
Par exemple, pour extraire le contenu de l'archive vers /opt/files
répertoire, vous pouvez utiliser :
tar -xf archive.tar -C /opt/files
Extraction des archives Tar Gz et Tar Bz2 #
Lors de l'extraction d'archives compressées telles que tar.gz
ou tar.bz2
, vous n'avez pas à spécifier d'option de décompression. La commande est la même que lors de l'extraction de tar
archive :
tar -xf archive.tar.gz
tar -xf archive.tar.bz2
Extraction de fichiers spécifiques d'une archive tar #
Parfois, au lieu d'extraire l'intégralité de l'archive, vous devrez peut-être n'en extraire que quelques fichiers.
Pour extraire un ou plusieurs fichiers spécifiques d'une archive tar, ajoutez une liste de noms de fichiers séparés par des espaces à extraire après le nom de l'archive :
tar -xf archive.tar file1 file2
Lors de l'extraction des fichiers, vous devez fournir leurs noms exacts, y compris le chemin, tels qu'ils sont imprimés par --list
(-t
).
Extraire un ou plusieurs répertoires d'une archive revient à extraire des fichiers :
tar -xf archive.tar dir1 dir2
Si vous essayez d'extraire un fichier qui n'existe pas, un message d'erreur semblable au suivant s'affichera :
tar -xf archive.tar README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
Extraction de fichiers d'une archive tar à l'aide de Wildcard #
Pour extraire des fichiers d'une archive basée sur un modèle de caractères génériques, utilisez le --wildcards
switch et mettez le motif entre guillemets pour empêcher le shell de l'interpréter.
Par exemple, pour extraire des fichiers dont le nom se termine par .js
(fichiers Javascript), vous pouvez utiliser :
tar -xf archive.tar --wildcards '*.js'
Ajout de fichiers à l'archive tar existante #
Pour ajouter des fichiers ou des répertoires à une archive tar existante, utilisez le --append
(-r
) opération.
Par exemple, pour ajouter un fichier nommé newfile
à archive.tar, vous lanceriez :
tar -rvf archive.tar newfile
Suppression de fichiers d'une archive tar #
Utilisez le --delete
opération pour supprimer des fichiers d'une archive.
L'exemple suivant montre comment supprimer le fichier file1
depuis archive.tar, :
tar --delete -f archive.tar file1
Conclusion #
Les utilisations les plus courantes du tar
commande sont de créer et d'extraire une archive tar. Pour extraire une archive, utilisez le tar -xf
suivie du nom de l'archive, et pour en créer une nouvelle, utilisez tar -czf
suivi du nom de l'archive et des fichiers et répertoires que vous souhaitez ajouter à l'archive.
Pour plus d'informations sur la commande tar, consultez la page de documentation de Gnu tar.