Android

Comment extraire (décompresser) le fichier tar gz

Bash Linux #5 - Compression des fichiers

Bash Linux #5 - Compression des fichiers

Table des matières:

Anonim

La commande tar est utilisée pour créer des archives tar en convertissant un groupe de fichiers en archives. Il prend en charge une vaste gamme de programmes de compression tels que gzip, bzip2, lzip, lzma, lzop, xz et compress. Tar a été initialement conçu pour créer des archives pour stocker des fichiers sur bande magnétique, c'est pourquoi il a son nom " T ape AR chive".

Gzip est l'algorithme le plus populaire pour compresser les fichiers tar. Par convention, le nom d'une archive tar compressée avec gzip doit se terminer par .tar.gz ou .tgz.

En bref, un fichier qui se termine par .tar.gz est une archive .tar compressée avec gzip.

La commande tar peut également être utilisée pour extraire des archives tar, afficher une liste des fichiers inclus dans l'archive, ajouter des fichiers supplémentaires à une archive existante, ainsi que divers autres types d'opérations.

Dans ce tutoriel, nous allons vous montrer comment extraire (ou décompresser) les archives tar.gz et tgz.

Extraction du fichier tar.gz

La plupart des distributions Linux et macOS sont livrées avec la commande tar préinstallée par défaut.

Pour extraire un fichier tar.gz, utilisez l' --extract ( -x ) et spécifiez le nom du fichier d'archive après l'option f :

tar -xf archive.tar.gz

La commande tar détectera automatiquement le type de compression et extraira l'archive. La même commande peut être utilisée pour extraire des archives tar compressées avec d'autres algorithmes tels que .tar.bz2.

L'option -v rendra la commande tar plus visible et affichera les noms des fichiers extraits sur le terminal.

tar -xvf archive.tar.gz

Par défaut, tar extrait le contenu de l'archive dans le répertoire de travail courant. 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 dans le /home/linuxize/files , vous pouvez utiliser:

tar -xf archive.tar.gz -C /home/linuxize/files

Extraire des fichiers spécifiques d'un fichier tar.gz

Pour extraire un ou des fichiers spécifiques d'un fichier tar.gz, 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.gz file1 file2

Lors de l'extraction de fichiers, vous devez fournir leurs noms exacts, y compris le chemin, tel qu'imprimé par --list ( -t ).

Extraire un ou plusieurs répertoires d'une archive revient à extraire des fichiers:

tar -xf archive.tar.gz dir1 dir2

Si vous essayez d'extraire un fichier qui n'existe pas, un message d'erreur semblable au suivant s'affiche:

tar -xf archive.tar.gz README

tar: README: Not found in archive tar: Exiting with failure status due to previous errors

Vous pouvez également extraire des fichiers d'un fichier tar.gz en fonction d'un modèle générique, en utilisant l'option --wildcards et en citant le modèle pour empêcher le shell de l'interpréter.

Par exemple, pour extraire des fichiers dont les noms se terminent par .js (fichiers Javascript), vous utiliseriez:

tar -xf archive.tar.gz --wildcards '*.js'

Extraire le fichier tar.gz de stdin

Dans l'exemple suivant, nous téléchargeons les sources de Blender à l'aide de la commande wget et redirige sa sortie vers la commande tar :

wget -c https://download.blender.org/source/blender-2.80.tar.gz -O - | sudo tar -xz

tar: Archive is compressed. Use -z option tar: Error is not recoverable: exiting now

Liste du fichier tar.gz

Pour répertorier le contenu d'un fichier tar.gz, utilisez l' --list ( -t ):

tar -tf archive.tar.gz

La sortie ressemblera à ceci:

file1 file2 file3

tar -tvf archive.tar.gz

-rw-r--r-- linuxize/users 0 2019-02-15 01:19 file1 -rw-r--r-- linuxize/users 0 2019-02-15 01:19 file2 -rw-r--r-- linuxize/users 0 2019-02-15 01:19 file3

Conclusion

Le fichier tar.gz est une archive Tar compressée avec Gzip. Pour extraire un fichier tar.gz, utilisez la commande tar -xf suivie du nom de l'archive.

terminal tar