Het Uitpakken van Bestanden Uit een .tar.gz of .teer.bz2-Bestand op Linux

Fatmawati Achmad Zaenuri/Shutterstock.com

Tar-bestanden zijn gecomprimeerde archieven. Je komt ze vaak tijdens het gebruik van een Linux distributie zoals Ubuntu of zelfs tijdens het gebruik van de terminal op de macOS. Hier is hoe om te extract—of pakken—de inhoud van een tar-bestand, ook wel bekend als een tarball.

Wat Doet .tar.gz en .teer.bz2 Betekenen?

Bestanden die een .tar.gz of een .teer.bz2 de extensie van de gecomprimeerde bestanden te archiveren. Een bestand met slechts een .teer uitbreiding wordt gecomprimeerd, maar die zal zeer zeldzaam.

Het .teer gedeelte van het bestand de extensie staat voor tape arbieslook en dat is de reden dat beide van deze bestandstypen worden genoemd tar-bestanden. Tar-bestanden van alle date op de weg terug naar 1979, toen het tar commando werd opgericht om te kunnen systeembeheerders voor het archiveren van bestanden op de tape. Veertig jaar later zijn we nog steeds gebruik van het tar commando uitpakken tar-bestanden op onze harde schijven. Iemand ergens is waarschijnlijk nog steeds het gebruik van teer met tape.

Het .gz of .bz2 uitbreiding achtervoegsel geeft aan dat het archief is gecomprimeerd met gzip of bzip2 compressie-algoritme. Het tar commando werken graag met beide soorten bestand, dus het maakt niet uit welke compressie methode werd gebruikt—en het moet overal beschikbaar, heb je een Bash-shell. U hoeft alleen maar de juiste tar commando regel opties.

Het uitpakken van Bestanden uit Tar-Bestanden

Laten we zeggen dat u hebt gedownload twee bestanden van de bladmuziek. Het ene bestand de naam ukulele_songs.tar.gz de andere heet guitar_songs.teer.bz2. Deze bestanden staan in de directory ‘Downloads’.

Laten we het uitpakken van de ukelele songs:

tar -xvzf ukulele_songs.tar.gz

Als de bestanden zijn uitgepakt, ze worden vermeld in het terminal venster.

De opdracht regel opties die we gebruikt hebben zijn:

  • -x:- Extract, het ophalen van de bestanden van de tar-bestand.
  • -v: Uitgebreide lijst van de bestanden als ze worden uitgepakt.
  • -z: Gzip, gzip gebruiken om pak het tar-bestand.
  • -f: Bestand, de naam van het tar-bestand dat u wilt teer om mee te werken. Deze optie moet worden gevolgd door de naam van het tar-bestand.

De lijst van de bestanden in de directory met ls en je zult zien dat het een directory is aangemaakt genaamd Ukulele Songs. De uitgepakte bestanden in die map. Waar heb deze map vandaan? Het was opgenomen in het tar-bestand, en werd gewonnen, samen met de bestanden.

Laten we nu uitpakken van de gitaar liedjes. Om dit te doen gebruiken we bijna precies dezelfde opdracht als voorheen, maar met één belangrijk verschil. Het .bz2 uitbreiding achtervoegsel vertelt ons is gecomprimeerd met behulp van de bzip2 opdracht. In plaats van het gebruik van de z (gzip) optie, zullen we gebruik maken van de -j (bzip2) optie.

teer -xvjf guitar_songs.teer.bz2

Nogmaals, de bestanden die worden vermeld op de terminal als deze worden uitgepakt. Om duidelijk te zijn, de opdracht regel opties die we hebben gebruikt voor teer voor .teer.bz2 bestand:

  • -x:- Extract, het ophalen van de bestanden uit van het tar-bestand.
  • -v: Uitgebreide lijst van de bestanden als ze worden uitgepakt.
  • -j: Bzip2, bzip2 gebruiken om pak het tar-bestand.
  • -f: Bestand, de naam van het tar-bestand dat u wilt teer om mee te werken.

Als we de lijst van de bestanden in de Download directory zullen we zien dat een ander map met de naam Gitaar Liedjes heeft gemaakt.

Het kiezen Waar de Bestanden wilt Uitpakken

Als we de bestanden wilt uitpakken naar een andere locatie dan de huidige directory, kunnen we bepalen een doel map met behulp van de -C (opgegeven directory) optie.

teer -xvjf guitar_songs.tar.gz -C ~/Documenten/Songs/

Zoek in al onze Documenten/Songs directory, dan zien wij de Gitaar Liedjes directory is aangemaakt.

Merk op dat de map niet bestaat, teer niet maken als het niet aanwezig is. Als u nodig hebt om een map te maken en teer pak de bestanden in het alles in een commando, kunt u dat als volgt doen:

mkdir -p ~/Documenten/Songs/Gedownload && tar -xvjf guitar_songs.tar.gz -C ~/Documenten/Songs/Gedownload/

De -p (ouders) optie zorgt ervoor dat mkdir te maken van alle bovenliggende mappen die nodig zijn, zodat de doel-directory is aangemaakt.

Op Zoek Binnen Tar-Bestanden Voor De Extractie

Tot nu toe hebben we slechts een sprong van het geloof en de bestanden zijn uitgepakt ongezien. Je zou willen kijken voordat je sprong. U kunt de inhoud van een tar-bestand voordat u uitpakken met behulp van de-t (lijst) optie. Het is meestal handig om de output met een pijp door middel van de minder-opdracht.

teer -tf ukulele_songs.tar.gz | minder

Merk op dat we geen gebruik van de -z optie om een lijst van de bestanden. We hoeven alleen maar het toevoegen van de optie-z wanneer we het uitpakken van bestanden uit een .tar.gz -bestand. Ook hoeven we niet de optie-j mee naar de lijst van de bestanden in een teer.bz2-bestand.

Het scrollen door de uitgang zien we dat alles in de tar-bestand is in de directory genaamd Ukelele Songs, en binnen die map, er zijn bestanden en andere mappen.

We kunnen zien dat de Ukulele Songs map bevat mappen genaamd Random Nummers, Ramones en Possibles.

Alle bestanden uit te pakken uit een map in een tar-bestand met de volgende opdracht. Merk op dat het pad is verpakt in aanhalingstekens omdat er spaties in het pad.

tar -xvzf ukulele_songs.tar.gz “Ukelele Songs/Ramones/”

Uitpakken van een bestand het pad en de naam van het bestand.

tar -xvzf ukulele_songs.tar.gz “Ukelele Songs/023 – Mijn Babe.odt”

U kan uitpakken met een selectie van bestanden door gebruik te maken van wildcards, waarbij * staat voor een willekeurige tekenreeks en ? vertegenwoordigt één willekeurig teken. Het gebruik van wildcards is vereist het gebruik van de –wildcards optie.

teer -xvz –wildcards -f ukulele_songs.tar.gz “Ukelele Songs/Possibles/B*”

Het Uitpakken Van Bestanden Uitpakken Zonder Mappen

Als u niet wilt dat de directory structuur in het tar-bestand te maken op uw harde schijf, gebruik dan de –strip-onderdelen optie. De –strip-onderdelen optie vereist een numerieke parameter. Het aantal geeft aan hoeveel niveaus van mappen te negeren. Bestanden van de mappen worden genegeerd nog steeds gewonnen, maar de directory-structuur is niet gerepliceerd op uw harde schijf.

Als wij opgeven, –strip-onderdelen=1 met onze voorbeeld tar-bestand, de Ukelele Songs bovenste map in het tar-bestand is niet gemaakt op de harde schijf. De bestanden en mappen die zou zijn uitgepakt naar die map worden uitgepakt in de doelmap.

tar -xvzf ukulele_songs.tar.gz –strip-onderdelen=1

Er zijn slechts twee niveaus van directory nesten in ons voorbeeld tar-bestand. Dus als we gebruik –strip-onderdelen=2, alle bestanden zijn opgeslagen in de doelmap, en geen andere mappen worden gemaakt.

tar -xvzf ukulele_songs.tar.gz –strip-onderdelen=2

Als je kijkt naar de Linux man-pagina zie je dat de tar heeft om een goede kandidaat voor de titel van “opdracht met de meeste commando-regel opties.” Gelukkig, ons toe te staan om bestanden uit te pakken uit .tar.gz en tar.bz2 bestanden met een goede mate van controle, we hoeven alleen maar te onthouden van een handvol van deze opties.


Posted

in

by

Tags: