Fájlok kibontása .tar.gz vagy .tar.bz2 fájlból Linux alatt

  • Dave McKay

    @TheGurkha

  • 2019. április 5., 8:00 EDT
Fatmawati Achmad Zaenuri / .com

A Tar fájlok tömörített archívumok. Gyakran találkozhat velük egy Linux disztribúció, például az Ubuntu, vagy akár a terminál használata közben a macOS-on. A tar-fájl (más néven tarball) tartalmának kibontása – vagy untar-eltávolítása – így történik.

Mit jelent a .tar.gz és .tar.bz2?

.tar.gz vagy .tar.bz2 kiterjesztéssel vannak tömörítve archív fájlok. A csak .tar kiterjesztésű fájl tömörítetlen, de ezek nagyon ritkák lesznek.

A .tar része a fájlkiterjesztés a szalagos archívumot jelenti, és ezért mindkét fájltípust tar fájlnak nevezik. A tar fájlok egészen 1979-ig nyúlnak vissza, amikor a tar parancsot létrehozták, hogy a rendszergazdák archiválhassák a fájlokat szalagra. Negyven évvel később még mindig a tar parancsot használjuk a tar fájlok kibontására a merevlemezre. Valaki valahol valószínűleg még mindig használja a tar szalagot.

Reklám

A .gz ill. A .bz2 kiterjesztés utótagja azt jelzi, hogy az archívum tömörítésre került, a gzip vagy a bzip2 tömörítési algoritmus. A tar parancs mindkét fájltípussal boldogan fog működni, így nem mindegy, hogy melyik tömörítési módszert használták – és mindenhol elérhetőnek kell lennie, ahol Bash héja van. Csak ki kell használnia a megfelelő tar parancssori opciókat.

Fájlok kivonása a Tar fájlokból

Tegyük fel, hogy két fájlt töltött le kotta. Az egyik fájl neve ukulele_songs.tar.gz, a másik neve guitar_songs.tar.bz2. Ezek a fájlok a Letöltések könyvtárban vannak.

Csomagoljuk ki az ukulele dalokat:

tar -xvzf ukulele_songs.tar.gz 

A fájlok kibontásakor a a terminál ablak.

Az általunk használt parancssori beállítások a következők:

  • -x: Kivonat, lekérjük a fájlokat a tar fájlból.
  • – v: Verbose, sorolja fel a fájlokat a kibontás során.
  • -z: Gzip, használja a gzip-et a tar fájl kibontásához.
  • -f: File, a tar név fájl, amellyel a tar fájlt akarjuk használni. Ezt az opciót követnie kell a tar fájl nevének.

Sorolja fel a fájlokat a könyvtárban a ls paranccsal, és látni fogja, hogy Ukulele Songs néven létrehozták a könyvtárat. A kibontott fájlok abban a könyvtárban találhatók. Honnan jött ez a könyvtár? A tar fájlban volt, és a fájlokkal együtt kivonták.

Hirdetés

Most vonjuk ki a gitárdalokat. Ehhez majdnem pontosan ugyanazt a parancsot fogjuk használni, mint korábban, de egy fontos különbséggel. A .bz2 kiterjesztés utótagja azt mondja, hogy a bzip2 paranccsal tömörítették. A -z (gzip) opció helyett a -j (bzip2) opciót fogjuk használni.

tar -xvjf guitar_songs.tar.bz2

A fájlok a kibontáskor ismét megjelennek a terminálon. Az egyértelműség érdekében a tar paranccsal a .tar.bz2 fájlhoz használt parancssori beállítások a következők voltak:

Ha felsoroljuk a Download könyvtárban található fájlokat látni fogjuk, hogy létrejött egy másik Guitar Songs nevű könyvtár.

A fájlok kibontásának kiválasztása

Ha a fájlokat egy helyre kívánjuk kibontani a jelenlegi könyvtár kivételével megadhatunk egy célkönyvtárat a -C (megadott könyvtár) opcióval.

tar -xvjf guitar_songs.tar.gz -C ~/Documents/Songs/
Hirdetés

A Dokumentumok / Dalok könyvtárban megnézve a Guitar Songs könyvtárat létrehozták.

Ne feledje, hogy a célkönyvtárnak már léteznie kell, tar nem fogja létrehozni, ha nincs jelen. Ha létre kell hoznia egy könyvtárat, és tar fájlokat kell kibontania az összesbe egy parancsban, akkor ezt a következőképpen teheti meg:

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

A -p (szülők) opció miatt a mkdir létrehozza a szükséges szülőkönyvtárakat, biztosítva a célkönyvtárat létrejött.

Megtekintés a kátrányfájlok belsejében, mielőtt kibontanám őket

Eddig csak ugrottunk a hitbe, és a fájlokat láthatatlanul kinyertük. Érdemes megnéznie, mielőtt ugrik. A tar fájl tartalmát a kibontás előtt ellenőrizheti a -t (lista) opcióval.Általában kényelmes a kimenetet a less paranccsal továbbítani.

tar -tf ukulele_songs.tar.gz | less
Reklám

Vegye figyelembe, hogy a fájlok felsorolásához nem kell használni a -z opciót. Csak akkor kell hozzáadnunk a -z opciót, ha fájlokat vonunk ki egy .tar.gz fájlból. Hasonlóképpen nincs szükségünk a -j opcióra a fájlok felsorolásához egy tar.bz2 fájlban.

Görgetés A kimenetet láthatjuk, hogy a tar fájlban minden megtalálható az Ukulele Songs nevű könyvtárban, és ezen a könyvtáron belül vannak fájlok és más könyvtárak.

Láthatjuk, hogy az Ukulele Songs könyvtár tartalmaz könyvtárakat, Véletlen dalok, Ramones és Lehetségesek.

Az összes fájl kibontásához egy tar fájlban lévő könyvtárból használja a következő parancsot. Ne feledje, hogy az útvonal idézőjelekbe van csomagolva, mert vannak helyek az útvonalban.

tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/Ramones/"
Hirdetés

Egyetlen fájl kibontásához: adja meg a fájl elérési útját és nevét.

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

Kiválaszthat egy fájlt helyettesítő karakterek használatával, ahol * bármely karakterláncot, a ? pedig egyetlen karaktert képvisel. Helyettesítő karakterek használatához a --wildcards opció használata szükséges.

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

Fájlok kibontása könyvtárak kibontása nélkül

Ha nem szeretné, hogy a tar fájl könyvtárstruktúrája újból létrejöjjön a merevlemezen, használja a --strip-components beállítást. A --strip-components opcióhoz numerikus paraméter szükséges. A szám azt jelzi, hogy hány könyvtárat kell figyelmen kívül hagyni. A figyelmen kívül hagyott könyvtárakból származó fájlokat továbbra is kibontják, de a könyvtárstruktúra nem replikálódik a merevlemezen.

Ha a --strip-components=1 -t megadjuk a tar fájl példájával, a A tar fájlban az Ukulele Songs legfelső könyvtárát nem hozzák létre a merevlemezen. Az adott könyvtárba kibontott fájlokat és könyvtárakat a célkönyvtárba vonják ki.

tar -xvzf ukulele_songs.tar.gz --strip-components=1
Reklám

Csak kettő van a könyvtárfészkelés szintjei a példa tar fájlunkban. Tehát, ha a --strip-components=2 fájlt használjuk, akkor az összes fájl kibontásra kerül a célkönyvtárban, és más könyvtárak nem jönnek létre.

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

Ha megnézi a Linux man oldalát, látni fogja, hogy a tar jó jelöltnek kell lennie a “legtöbb parancssori opcióval rendelkező parancs” címre. Szerencsére ahhoz, hogy lehetővé tegyük fájlok kibontását .tar.gz és tar.bz2 fájlokból, nagyfokú részletgazdálkodással, csak egy maroknyira kell emlékeznünk ezek közül az opciók közül.

Dave McKay
Dave McKay először akkor használt számítógépeket, amikor divatban volt a lyukasztott papírszalag, és azóta programoz Több mint 30 év után az informatikai iparban ma teljes munkaidős technológiai újságíró. Pályafutása során szabadúszó programozóként, egy nemzetközi szoftverfejlesztő csapat vezetőjeként, informatikai szolgáltatások projektmenedzsereként dolgozott. Dave Linux evangélista és nyílt forráskódú szószóló. Olvassa el a teljes életrajzot “

Leave a Reply

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük