Une archive tarball (TAR ou TAR.GZ) est un ensemble de fichiers regroupés en une seule archive, ce qui facilite le stockage et le transfert d’un grand nombre de fichiers localement ou sur l’internet. Lorsque vous avez besoin des fichiers, il vous suffit d’extraire l’archive.


Imaginons un scénario dans lequel vous n’avez besoin que d’un seul fichier d’une archive volumineuse. Dans ce cas, au lieu d’extraire toute l’archive, vous pouvez extraire uniquement le fichier dont vous avez besoin. Voyons comment procéder.

Voir le contenu d’une archive

Si vous souhaitez simplement voir le contenu d’un fichier TAR ou TAR.GZ, vous n’avez pas besoin de l’extraire. A la place, utilisez la commande suivante pour voir ce qu’il contient :

 tar -tvf [archive.tar]
tar -ztvf [archive.tar.gz]

Cette commande affiche la liste de tous les fichiers et répertoires contenus dans l’archive.

afficher le contenu d'un fichier tar

Extraire un seul fichier de l’archive

Pour extraire un seul fichier de TAR ou TAR.GZ, utilisez le format de commande suivant :

 tar -xvf [archive.tar] [path-to-file]
tar -zxvf [archive.tar.gz] [path-to-file]

N’oubliez pas que vous devrez fournir le chemin d’accès complet au fichier que vous souhaitez extraire. Vous pouvez trouver le chemin complet du fichier ou du répertoire à l’aide de la commande tar -tvf [archive.tar] commande.

Pour extraire un fichier test1.txt de la base de données test.tar et test.tar.gz les commandes seraient les suivantes :

 tar -xvf test.tar test1.txt
tar -zxvf test.tar.gz test1.txt

…où :

  1. -x est utilisé pour extraire des fichiers de l’archive
  2. -v est utilisé pour voir la progression de l’extraction.
  3. -f est utilisé pour spécifier le nom de l’archive
  4. -z est utilisé pour décompresser les fichiers TAR.GZ

Ces commandes permettent d’extraire le fichier spécifié dans le répertoire actuel du terminal.

extrait un seul fichier de tar

Extraire un seul répertoire d’une archive

De la même manière, vous pouvez également extraire un seul répertoire d’une archive en utilisant la syntaxe suivante :

 tar xvf [archive.tar] [path-to-directory]
tar -zxvf [archive.tar.gz] [path-to-directory]

Par exemple, pour extraire un test1 du sous-répertoire test.tar vous devrez fournir le chemin complet du répertoire, c’est-à-dire test/test1:

 tar -xvf test.tar test/test1 

Ceci extraira le sous-répertoire entier test/test1 dans le répertoire actuel du terminal.

extraire un seul répertoire de tar

Extraire un fichier ou un dossier unique dans un répertoire différent

Vous pouvez également extraire un fichier ou un répertoire d’une archive vers un autre répertoire. Pour cela, utilisez la même syntaxe que ci-dessus mais ajoutez l’option -C suivie du répertoire de destination :

 tar -xvf [archive.tar] -C [destination_directory] [file-or-directory]
tar -zxvf [archive.tar.gz] -C [destination_directory] [file-or-directory]

Supposons que nous voulions extraire un répertoire test2 à partir de la page test.tar vers l’archive Téléchargements au lieu du répertoire de travail actuel. La commande, dans ce cas, serait :

 tar -xvf test.tar -C ~/Downloads/ test/test2 
extraire un répertoire unique vers un autre répertoire

Supprimer un seul fichier ou répertoire d’une archive

Si vous devez supprimer un seul fichier ou répertoire d’un fichier TAR ou TAR.GZ, utilisez la commande –delete avec la commande tar :

 tar -vf [archive.tar] --delete [file-or-directory] 

Cependant, vous ne pouvez pas supprimer un fichier ou un répertoire directement à partir d’une archive compressée (TAR.GZ). Vous devez d’abord décompresser le fichier TAR.GZ, supprimer le fichier ou le répertoire, puis le recompresser.

Pour décompresser le fichier TAR.GZ, utilisez la commande suivante :

 gzip -d [archive.tar.gz] 

La décompression convertit le fichier en TAR. Vous pouvez maintenant supprimer le fichier de l’archive TAR en utilisant la commande suivante :

 tar -vf [archive.tar] --delete [file-or-directory] 

Ensuite, recompressez le fichier TAR en utilisant gzip :

 gzip -f [archive.tar] 
supprimer un fichier de tar

Gagner du temps en travaillant avec des archives sous Linux

L’extraction des seuls fichiers nécessaires d’une archive permet non seulement d’éviter l’encombrement, mais aussi de gagner le temps qui serait autrement consacré à la recherche dans un grand nombre de fichiers.

Parfois, la création et l’extraction de fichiers TAR entraînent la duplication de fichiers dans votre système. Par conséquent, il est conseillé d’identifier et de supprimer ces doublons périodiquement pour désencombrer votre espace.