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.
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ù :
- -x est utilisé pour extraire des fichiers de l’archive
- -v est utilisé pour voir la progression de l’extraction.
- -f est utilisé pour spécifier le nom de l’archive
- -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.
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 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
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]
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.