GNU/Linux >> Tutoriels Linux >  >> Linux

Le didacticiel Ultimate Tar Command avec 10 exemples pratiques

Sur la plate-forme Unix, commande tar est le principal utilitaire d'archivage. Comprendre les différentes options de commande tar vous aidera à maîtriser la manipulation des fichiers d'archive.

Dans cet article, passons en revue divers exemples de tar y compris comment créer des archives tar (avec compression gzip et bzip), extraire un seul fichier ou répertoire, afficher le contenu de l'archive tar, valider l'intégrité des archives tar, découvrir la différence entre l'archive tar et le système de fichiers, estimer la taille du tar archive avant de le créer, etc.,

1. Création d'une archive à l'aide de la commande tar

Création d'une archive tar non compressée à l'aide de l'option cvf

C'est la commande de base pour créer une archive tar.

$ tar cvf archive_name.tar dirname/

Dans la commande ci-dessus :

  • c – créer une nouvelle archive
  • v – liste détaillée des fichiers qui sont traités.
  • f – voici le nom du fichier d'archive

Création d'une archive tar gzippée à l'aide de l'option cvzf

L'option tar cvf ci-dessus ne fournit aucune compression. Pour utiliser une compression gzip sur l'archive tar, utilisez l'option z comme indiqué ci-dessous.

$ tar cvzf archive_name.tar.gz dirname/
  • z - filtrer l'archive via gzip

Remarque : .tgz est identique à .tar.gz

Remarque : J'aime garder l'option 'cvf' (ou tvf, ou xvf) inchangée pour toute création d'archive (ou vue, ou extraction) et ajouter une option supplémentaire à la fin, ce qui est plus facile à retenir. c'est-à-dire cvf pour la création d'archives, cvfz pour la création d'archives gzip compressées, cvfj pour la création d'archives bzip2 compressées, etc. Pour que cette méthode fonctionne correctement, ne donnez pas - devant les options.

Création d'une archive tar bzippée à l'aide de l'option cvjf

Créez une archive tar bzip2 comme indiqué ci-dessous :

$ tar cvfj archive_name.tar.bz2 dirname/
  • j - filtrer l'archive via bzip2

gzip contre bzip2 :bzip2 prend plus de temps à compresser et décompresser que gzip. La taille d'archivage bzip2 est inférieure à gzip.

Remarque : .tbz et .tb2 sont identiques à .tar.bz2

2. Extraire (décompresser) une archive à l'aide de la commande tar

Extraire un fichier *.tar en utilisant l'option xvf

Extrayez un fichier tar en utilisant l'option x comme indiqué ci-dessous :

$ tar xvf archive_name.tar
  • x - extraire les fichiers de l'archive

Extraire une archive tar gzippée ( *.tar.gz ) en utilisant l'option xvzf

Utilisez l'option z pour décompresser une archive tar gzip.

$ tar xvfz archive_name.tar.gz

Extraire une archive tar bzippée ( *.tar.bz2 ) en utilisant l'option xvjf

Utilisez l'option j pour décompresser une archive tar bzip2.

$ tar xvfj archive_name.tar.bz2

Remarque : Dans toutes les commandes ci-dessus, v est facultatif, ce qui répertorie le fichier en cours de traitement.

3. Lister une archive à l'aide de la commande tar

Afficher le contenu du fichier d'archive tar sans extraire à l'aide de l'option tvf

Vous pouvez afficher le contenu du fichier *.tar avant l'extraction, comme indiqué ci-dessous.

$ tar tvf archive_name.tar

Afficher le contenu du fichier *.tar.gz sans extraire à l'aide de l'option tvzf

Vous pouvez afficher le contenu du fichier *.tar.gz avant l'extraction, comme indiqué ci-dessous.

$ tar tvfz archive_name.tar.gz

Afficher le contenu du fichier *.tar.bz2 sans extraire à l'aide de l'option tvjf

Vous pouvez afficher le contenu du fichier *.tar.bz2 avant l'extraction, comme indiqué ci-dessous.

$ tar tvfj archive_name.tar.bz2

4. Lister le contenu du fichier tar avec la commande less

Lorsque le nombre de fichiers dans une archive est supérieur, vous pouvez rediriger la sortie de tar vers less. Mais, vous pouvez également utiliser la commande less directement pour afficher la sortie de l'archive tar, comme expliqué dans l'un de nos articles précédents Ouvrir et afficher 10 types de fichiers différents avec Linux Less Command - The Ultimate Power of Less.

5. Extraire un seul fichier du fichier tar, tar.gz, tar.bz2

Pour extraire un fichier spécifique d'une archive tar, spécifiez le nom du fichier à la fin de la commande tar xvf comme indiqué ci-dessous. La commande suivante extrait uniquement un fichier spécifique d'un fichier tar volumineux.

$ tar xvf archive_file.tar /path/to/file

Utilisez l'option appropriée z ou j selon la méthode de compression gzip ou bzip2 respectivement comme indiqué ci-dessous.

$ tar xvfz archive_file.tar.gz /path/to/file

$ tar xvfj archive_file.tar.bz2 /path/to/file

6. Extraire un seul répertoire du fichier tar, tar.gz, tar.bz2

Pour extraire un seul répertoire (avec son sous-répertoire et ses fichiers) d'une archive tar, spécifiez le nom du répertoire à la fin de la commande tar xvf comme indiqué ci-dessous. Ce qui suit extrait uniquement un répertoire spécifique d'un gros fichier tar.

$ tar xvf archive_file.tar /path/to/dir/

Pour extraire plusieurs répertoires d'une archive tar, spécifiez ces noms de répertoires individuels à la fin de la commande tar xvf comme indiqué ci-dessous.

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Utilisez l'option appropriée z ou j selon la méthode de compression gzip ou bzip2 respectivement comme indiqué ci-dessous.

$ tar xvfz archive_file.tar.gz /path/to/dir/

$ tar xvfj archive_file.tar.bz2 /path/to/dir/

7. Extraire un groupe de fichiers à partir d'archives tar, tar.gz, tar.bz2 à l'aide d'expressions régulières

Vous pouvez spécifier une expression régulière pour extraire les fichiers correspondant à un modèle spécifié. Par exemple, suivre la commande tar extrait tous les fichiers avec l'extension pl.

$ tar xvf archive_file.tar --wildcards '*.pl'

Explication des options :

  • – jokers *.pl – fichiers avec l'extension pl

8. Ajouter un fichier ou un répertoire à une archive existante en utilisant l'option -r

Vous pouvez ajouter des fichiers supplémentaires à une archive tar existante comme indiqué ci-dessous. Par exemple, pour ajouter un fichier au fichier *.tar, procédez comme suit :

$ tar rvf archive_name.tar newfile

Ce nouveau fichier sera ajouté à l'archive_name.tar existante. L'ajout d'un répertoire au tar est également similaire,

$ tar rvf archive_name.tar newdir/

Remarque : Vous ne pouvez pas ajouter de fichier ou de répertoire à une archive compressée. Si vous essayez de le faire, vous obtiendrez l'erreur "tar :impossible de mettre à jour les archives compressées", comme indiqué ci-dessous.

$ tar rvfz archive_name.tgz newfile
tar: Cannot update compressed archives
Try `tar --help' or `tar --usage' for more information.

9. Vérifiez les fichiers disponibles dans tar en utilisant l'option -W

Dans le cadre de la création d'un fichier tar, vous pouvez vérifier le fichier d'archive qui a été créé à l'aide de l'option W comme indiqué ci-dessous.

$ tar cvfW file_name.tar dir/

Si vous envisagez de supprimer un répertoire/fichier d'un fichier d'archive ou du système de fichiers, vous souhaiterez peut-être vérifier le fichier d'archive avant de le faire, comme indiqué ci-dessous.

$ tar tvfW file_name.tar
Verify 1/file1
1/file1: Mod time differs
1/file1: Size differs
Verify 1/file2
Verify 1/file3

Si une ligne de sortie commence par Vérifier et qu'il n'y a pas de ligne différente, le fichier/répertoire est OK. Si ce n'est pas le cas, vous devez étudier le problème.

Remarque : pour un fichier archive compressé ( *.tar.gz, *.tar.bz2 ) vous ne pouvez pas faire la vérification.

Trouver la différence entre une archive et un système de fichiers peut être fait même pour une archive compressée. Il affiche également la même sortie que ci-dessus, à l'exception des lignes avec Vérifier.

Trouver la différence entre le fichier d'archive gzip et le système de fichiers

$ tar dfz file_name.tgz

Trouver la différence entre le fichier d'archive bzip2 et le système de fichiers

$ tar dfj file_name.tar.bz2

10. Estimer la taille de l'archive tar

La commande suivante estime la taille du fichier tar (en Ko) avant de créer le fichier tar.

$ tar -cf - /directory/to/archive/ | wc -c
20480

La commande suivante estime la taille du fichier tar compressé (en Ko) avant de créer les fichiers tar.gz, tar.bz2.

$ tar -czf - /directory/to/archive/ | wc -c
508

$ tar -cjf - /directory/to/archive/ | wc -c
428

Linux
  1. Le didacticiel de commande Numfmt avec des exemples pour les débutants

  2. Le didacticiel de commande de type avec des exemples pour les débutants

  3. Le didacticiel de commande Shuf avec des exemples pour les débutants

  4. Tutoriel sur l'état de sortie de Bash Shell avec des exemples pratiques

  5. Commande d'écho avec des exemples pratiques

Le didacticiel de la commande mktemp avec des exemples pour les débutants

Le didacticiel de la commande Grep avec des exemples pour les débutants

Le didacticiel Uniq Command avec des exemples pour les débutants

Le didacticiel de commande fc avec des exemples pour les débutants

Les 50 exemples pratiques de la commande SED sous Linux

HowTo:Le didacticiel de commande ultime Logrotate avec 10 exemples