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

Contenu

Shell Bash dans le concept de bureau Unity

Les fichiers tar sont des fichiers compressés. Vous les trouverez plusieurs fois en utilisant une distribution Linux comme Ubuntu ou même en utilisant le terminal sur macOS. Ensuite, explique comment extraire (ou décompressez) le contenu d'un fichier tar, également connu sous le nom de tarball.

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

Les fichiers qui ont un .tar.gz ou un .tar.bz2 l'extension sont des fichiers compressés. Un fichier avec un seul .tar l'extension n'est pas compressée, mais ils seront très rares.

Les .tar une partie de l'extension de fichier signifie tmono Arkansasciboulette, et c'est la raison pour laquelle les deux types de fichiers sont appelés fichiers tar. Les archives de goudron remontent à 1979 quand il tar La commande 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 ruban.

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

Extraire les fichiers des archives Tar

Disons que vous avez téléchargé deux fichiers de partitions. Un fichier s'appelle 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 de téléchargement

Extrayons les chansons du ukulélé:

tar -xvzf ukulélé_songs.tar.gz

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

Extraction de tous les fichiers de l'archive tar

Les alternatives de ligne de commande que nous utilisons sont:

  • -X: Extraire, récupérer des fichiers de l'archive tar.
  • -v: Détaillé, répertorie les fichiers au fur et à mesure qu'ils sont extraits.
  • -Avec: Gzip, utilisez gzip pour décompresser le fichier tar.
  • -F: Déposer, le nom du fichier tar que nous voulons tar travailler avec. Cette option doit être suivie du nom du fichier tar.

Lister les fichiers dans le répertoire avec ls et vous verrez qu'un répertoire appelé Ukulele Songs a été créé. Les fichiers extraits sont 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 d'ukulélé créé dans le répertoire de téléchargement

Maintenant, extrayons les chansons de guitare. Pour faire ceci, nous utiliserons presque exactement la même commande qu'avant, mais avec une différence importante. Les .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 le -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 qu'ils sont extraits. pour être clair, les alternatives de ligne de commande que nous utilisons avec tar Pour lui .tar.bz2 fichier étaient:

  • -X: Extraire, récupérer des fichiers de l'archive tar.
  • -v: Détaillé, répertorie les fichiers au fur et à mesure qu'ils sont extraits.
  • -j: Bzip2, utilisez bzip2 pour décompresser le fichier tar.
  • -F: Déposer, nom du fichier tar avec lequel nous voulons qu'il fonctionne.

Si nous listons les fichiers dans le répertoire Téléchargements, nous verrons qu'un autre répertoire appelé Guitar Songs a été créé.

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

Sélectionnez où extraire les fichiers

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

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

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

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

Notez que le répertoire de destination 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 des fichiers en une seule commande, vous pouvez le faire de la manière suivante:

mkdir -p ~/Documents/Chansons/Téléchargé && tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/Downloaded/

Les -p (parents) l'option provoque mkdir pour créer les répertoires personnels nécessaires, s'assurer que le répertoire de destination est créé.

Regardez dans les fichiers tar avant de les extraire

Jusqu'à maintenant, nous avons fait un acte de foi et avons extrait les fichiers sans être vus. Vous voudrez peut-être regarder avant de sauter. Vous pouvez consulter le contenu d'un tar fichier avant de l'extraire à l'aide du -t option (prêt). Comme d'habitude, il est pratique de canaliser la sortie via le less commander.

tar -tf ukulélé_songs.tar.gz | moins

Notez qu'il n'est pas nécessaire d'utiliser le -z option pour lister les fichiers. Il nous suffit d'ajouter le -z option quand nous sommes extraire fichiers d'un .tar.gz Record. De la même manière, nous n'avons pas besoin de -j option pour lister les fichiers dans un tar.bz2 Record.

Le contenu du fichier tar transmis par moins

Comme nous traversons la sortie, nous pouvons voir que tout dans le fichier tar se trouve 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 canalisé à travers moins

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 entre guillemets car il y a des espaces dans le chemin.

tar -xvzf ukulélé_songs.tar.gz "Chansons Ukulélé/Ramones/"

Extraire un seul dossier du fichier tar

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

tar -xvzf ukulélé_songs.tar.gz "Chansons Ukulélé/023 - Mon bébé.odt"

Extraire un seul fichier de l'archive tar

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

tar -xvz --wildcards -f ukulélé_songs.tar.gz "Chansons Ukulélé/Possibles/B*"

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

Extraire des fichiers sans extraire de répertoires

Si vous ne voulez pas que la structure de répertoires dans le fichier tar soit recréée sur votre disque dur, utiliser el --strip-components option. Les --strip-components L'option a besoin d'un paramètre numérique. Le nombre représente le nombre de niveaux de répertoires à ignorer. Les fichiers dans les répertoires ignorés sont toujours extraits, mais la structure du répertoire n'est pas répliquée sur votre disque dur.

Si on précise --strip-components=1 avec notre exemple de fichier tar, Le répertoire supérieur des chansons d'ukulélé 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 de destination.

tar -xvzf ukulélé_songs.tar.gz --strip-components = 1

Extraire des fichiers de l'archive tar avec --strip-components = 1

Il n'y a que deux niveaux d'imbrication de répertoires dans notre exemple de fichier tar. Ensuite, si on utilise --strip-components=2, tous les fichiers sont extraits dans le répertoire de destination et aucun autre répertoire n'est créé.

tar -xvzf ukulélé_songs.tar.gz --strip-components = 2

Extraire des fichiers de l'archive tar avec --strip-components = 2

Si vous regardez Linux page de manuel tu verras ça tar vous devez être un bon candidat pour le titre de “commande avec le plus grand nombre d’alternatives de ligne de commande”. Par chance, pour nous permettre d'extraire des fichiers de .tar.gz Oui tar.bz2 fichiers avec un bon degré de contrôle granulaire, nous devons juste nous souvenir de certaines de ces options.

setTimeout(fonction(){
!fonction(F,b,e,v,m,t,s)
{si(f.fbq)revenir;n=f.fbq=fonction(){n.callMethod?
n.callMethod.apply(m,arguments):n.queue.push(arguments)};
si(!f._fbq)f._fbq=n;n.push=n;n.chargé=!0;n.version=’2.0′;
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertAvant(t,s) } (window, document,'scénario',
'https://connect.facebook.net/en_US/fbevents.js’);
fbq('init', « 335401813750447 »);
fbq('Piste', « Page View »);
},3000);

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.