in

Comment extraire des fichiers d’un fichier .tar.gz ou .tar.bz2 sous Linux

Fatmawati Achmad Zaenuri / Shutterstock.com

Les fichiers tar sont des archives compressées. Vous les rencontrerez fréquemment lors de l’utilisation d’une distribution Linux comme Ubuntu ou même lors de l’utilisation du terminal sur macOS. Voici comment extraire – ou décompresser – le contenu d’un fichier tar, également appelé tarball.

Que signifient .tar.gz et .tar.bz2?

Les fichiers qui ont un .tar.gz ou un .tar.bz2 l’extension sont des fichiers d’archive compressés. Un fichier avec juste un .tar l’extension n’est pas compressée, mais celles-ci seront très rares.

le .tar une partie de l’extension de fichier représente tsinge archive, et c’est la raison pour laquelle ces deux types de fichiers sont appelés fichiers tar. Les fichiers tar remontent à 1979 lorsque le tar a été créée pour permettre aux administrateurs système d’archiver des fichiers sur bande. Quarante ans plus tard, nous utilisons toujours le tar commande pour extraire les fichiers tar sur nos disques durs. Quelqu’un quelque part utilise probablement encore tar avec du ruban adhésif.

le .gz ou .bz2 Le suffixe d’extension indique que l’archive a été compressée, en utilisant soit le gzip ou bzip2 algorithme de compression. le tar La commande fonctionnera parfaitement avec les deux types de fichiers, donc peu importe la méthode de compression utilisée – et elle devrait être disponible partout où vous avez un shell Bash. Il vous suffit d’utiliser le bon tar options de ligne de commande.

Extraction de fichiers à partir de fichiers Tar

Disons que vous avez téléchargé deux fichiers de partitions. Un fichier est appelé ukulele_songs.tar.gz , l’autre s’appelle guitar_songs.tar.bz2. Ces fichiers se trouvent dans le répertoire Téléchargements.

Deux fichiers tar dans le répertoire des téléchargements

Extrayons les chansons de ukulélé:

tar -xvzf ukulele_songs.tar.gz

Au fur et à mesure que les fichiers sont extraits, ils sont répertoriés dans la fenêtre du terminal.

Extraction de tous les fichiers du fichier tar

Les options de ligne de commande que nous avons utilisées sont:

  • -X: Extraire, récupérer les fichiers du fichier tar.
  • -v: Verbose, liste les fichiers au fur et à mesure de leur extraction.
  • -z: Gzip, utilisez gzip pour décompresser le fichier tar.
  • -F: File, le nom du fichier tar que nous voulons tar travailler avec. Cette option doit être suivie du nom du fichier tar.

Répertoriez les fichiers du répertoire avec ls et vous verrez qu’un répertoire a été créé appelé Ukulele Songs. Les fichiers extraits se trouvent dans ce répertoire. D’où vient ce répertoire? Il était contenu dans le tar fichier, et a été extrait avec les fichiers.

Répertoire de chansons ukulélé créé dans le répertoire de téléchargements

Extrayons maintenant les chansons de guitare. Pour ce faire, nous utiliserons presque exactement la même commande qu’avant, mais avec une différence importante. le .bz2 Le suffixe d’extension nous indique qu’il a été compressé à l’aide de la commande bzip2. Au lieu d’utiliser le-z (gzip), nous utiliserons l’option -j (bzip2) option.

tar -xvjf guitar_songs.tar.bz2

Extraction du fichier tar des chansons de guitare dans le dossier Téléchargements

Une fois de plus, les fichiers sont répertoriés dans le terminal au fur et à mesure de leur extraction. Pour être clair, les options de ligne de commande que nous avons utilisées avec tar pour le .tar.bz2 fichier étaient:

  • -X: Extraire, récupérer les fichiers à partir du fichier tar.
  • -v: Verbose, liste les fichiers au fur et à mesure de leur extraction.
  • -j: Bzip2, utilisez bzip2 pour décompresser le fichier tar.
  • -F: Fichier, nom du fichier tar avec lequel nous voulons que tar fonctionne.

Si nous listons les fichiers dans le répertoire de téléchargement, nous verrons qu’un autre répertoire appelé Guitar Songs a été créé.

Répertoire des chansons de guitare créé dans le répertoire Téléchargements

Choisir où extraire les fichiers

Si nous voulons extraire les fichiers vers un emplacement autre que le répertoire courant, nous pouvons spécifier un répertoire cible en utilisant le -C (répertoire spécifié) option.

tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/

En regardant dans notre répertoire Documents / Songs, nous verrons que le répertoire Guitar Songs a été créé.

Répertoire des morceaux de guitare créé dans le répertoire Documents / Songs

Notez que le répertoire cible doit déjà exister, tar ne le créera pas s’il n’est pas présent. Si vous devez créer un répertoire et avoir tar extraire les fichiers en une seule commande, vous pouvez le faire comme suit:

mkdir -p ~/Documents/Songs/Downloaded && tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/Downloaded/

le -p (parents) option causes mkdir pour créer tous les répertoires parents requis, en vous assurant que le répertoire cible est créé.

Regarder à l’intérieur des fichiers tar avant de les extraire

Jusqu’à présent, nous venons de faire un acte de foi et d’extraire les fichiers sans les voir. Vous aimeriez peut-être regarder avant de sauter. Vous pouvez consulter le contenu d’un tar avant de l’extraire en utilisant le -t (liste) option. Il est généralement pratique de faire passer la sortie par le less commander.

tar -tf ukulele_songs.tar.gz | less

Notez que nous n’avons pas besoin d’utiliser le -z option pour lister les fichiers. Il suffit d’ajouter le -z option lorsque nous sommes des fichiers d’un .tar.gz fichier. De même, nous n’avons pas besoin du -j option pour lister les fichiers dans un tar.bz2 fichier.

Contenu du fichier tar acheminé via less

En faisant défiler la sortie, nous pouvons voir que tout ce qui se trouve dans le fichier tar est contenu dans un répertoire appelé Ukulele Songs, et dans ce répertoire, il y a des fichiers et d’autres répertoires.

Deuxième vue du contenu du fichier tar acheminé via less

Nous pouvons voir que le répertoire Ukulele Songs contient des répertoires appelés Random Songs, Ramones et Possibles.

Pour extraire tous les fichiers d’un répertoire dans un fichier tar, utilisez la commande suivante. Notez que le chemin est placé entre guillemets car il y a des espaces dans le chemin.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/Ramones/"

Extraction d'un seul dossier à partir d'un fichier tar

Pour extraire un seul fichier, indiquez le chemin et le nom du fichier.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/023 - My Babe.odt"

Extraction d'un seul fichier à partir d'un fichier tar

Vous pouvez extraire une sélection de fichiers en utilisant des caractères génériques, où * représente n’importe quelle chaîne de caractères et ? représente n’importe quel caractère unique. L’utilisation de caractères génériques nécessite l’utilisation du --wildcards option.

tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Songs/Possibles/B*"

Extraire des chansons de tar avec des caractères génériques

Extraction de fichiers sans extraction de répertoires

Si vous ne souhaitez pas que la structure de répertoires du fichier tar soit recréée sur votre disque dur, utilisez le --strip-components option. le --strip-components L’option nécessite un paramètre numérique. Le nombre représente le nombre de niveaux de répertoires à ignorer. Les fichiers des répertoires ignorés sont toujours extraits, mais la structure des répertoires n’est pas répliquée sur votre disque dur.

Si nous spécifions --strip-components=1 avec notre exemple de fichier tar, le répertoire le plus élevé de Ukulele Songs dans le fichier tar n’est pas créé sur le disque dur. Les fichiers et répertoires qui auraient été extraits dans ce répertoire sont extraits dans le répertoire cible.

tar -xvzf ukulele_songs.tar.gz --strip-components=1

Extraction de fichiers depuis un fichier tar avec --strip-components = 1

Il n’y a que deux niveaux d’imbrication de répertoires dans notre exemple de fichier tar. Donc si nous utilisons --strip-components=2, tous les fichiers sont extraits dans le répertoire cible et aucun autre répertoire n’est créé.

tar -xvzf ukulele_songs.tar.gz --strip-components=2

Extraction de fichiers depuis un fichier tar avec --strip-components = 2

Si vous regardez le Linux page de manuel tu verras ça tar doit être un bon candidat pour le titre de «commande ayant le plus d’options de ligne de commande». Heureusement, pour nous permettre d’extraire des fichiers de .tar.gz et tar.bz2 fichiers avec un bon degré de contrôle granulaire, nous n’avons besoin de nous souvenir que d’une poignée de ces options.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

La fausse application Samsung Updates a eu 10 millions d’installations

L'échec de la mise à jour d'octobre de Microsoft retient l'ensemble de l'industrie des PC

L’échec de la mise à jour d’octobre de Microsoft retient l’ensemble de l’industrie des PC