Pokud se pohybujete ve světě open source, je pravděpodobné, že narazíte na .tar.gz soubory pravidelně. Balíčky s otevřeným zdrojovým kódem jsou obecně dostupné ke stažení ve formátech .tar.gz a .zip.
tar
příkaz se používá k vytvoření archivů tar převedením skupiny souborů na archiv. Podporuje širokou škálu kompresních programů, jako je gzip, bzip2, lzip, lzma, lzop, xz a komprese. Tar byl původně navržen pro vytváření archivů pro ukládání souborů na magnetické pásce, a proto má svůj název „T opice AR pažitka“.
Gzipis nejoblíbenější algoritmus pro kompresi souborů tar. Podle konvence název archivu tar komprimovaného pomocí gzip by měl končit buď .tar.gz nebo .tgz .
Stručně řečeno, soubor, který končí na .tar.gz je .tar archiv komprimovaný pomocí gzip.
tar
příkaz lze také použít k rozbalení archivů tar, zobrazení seznamu souborů obsažených v archivu, přidání dalších souborů do existujícího archivu a také k různým dalším druhům operací.
V tomto tutoriálu vám ukážeme, jak extrahovat (nebo rozbalit) tar.gz a tgz archivy.
Extrahování souboru tar.gz #
Většina distribucí Linuxu a macOS je dodávána s tar příkaz předinstalovaný ve výchozím nastavení.
Chcete-li rozbalit soubor tar.gz, použijte --extract
(-x
) a zadejte název archivního souboru za f
možnost:
tar -xf archive.tar.gz
tar
příkaz automaticky detekuje typ komprese a rozbalí archiv. Stejný příkaz lze použít k extrahování archivů tar komprimovaných jinými algoritmy, jako je .tar.bz2 .
Pokud jste uživatel plochy a příkazový řádek není vaší věcí, můžete použít Správce souborů. Chcete-li extrahovat (rozbalit) soubor tar.gz, jednoduše klikněte pravým tlačítkem myši na soubor, který chcete extrahovat, a vyberte „Extrahovat“. Uživatelé Windows budou potřebovat nástroj s názvem 7zip na extrahování souborů tar.gz.
-v
volba vytvoří tar
příkaz více viditelný a vytiskne názvy souborů, které se extrahují na terminál.
tar -xvf archive.tar.gz
Ve výchozím nastavení tar
rozbalí obsah archivu v aktuálním pracovním adresáři. Použijte --directory
(-C
) pro extrahování archivních souborů v konkrétním adresáři:
Chcete-li například extrahovat obsah archivu do /home/linuxize/files
adresář, můžete použít:
tar -xf archive.tar.gz -C /home/linuxize/files
Extrahování konkrétních souborů ze souboru tar.gz #
Chcete-li extrahovat konkrétní soubor(y) ze souboru tar.gz, připojte za název archivu seznam názvů souborů, které mají být extrahovány:
tar -xf archive.tar.gz file1 file2
Při extrahování souborů musíte zadat jejich přesné názvy včetně cesty, jak je vytiskne --list
(-t
).
Extrahování jednoho nebo více adresářů z archivu je stejné jako rozbalování souborů:
tar -xf archive.tar.gz dir1 dir2
Pokud se pokusíte extrahovat soubor, který neexistuje, zobrazí se chybová zpráva podobná následující:
tar -xf archive.tar.gz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
Soubory můžete také extrahovat ze souboru tar.gz na základě vzoru zástupných znaků pomocí --wildcards
možnost a citace vzoru, aby jej shell nemohl interpretovat.
Chcete-li například extrahovat soubory, jejichž názvy končí na .js
(soubory Javascript), byste použili:
tar -xf archive.tar.gz --wildcards '*.js'
Extrahování souboru tar.gz z stdin #
Pokud extrahujete komprimovaný soubor tar.gz čtením archivu z stdin (obvykle prostřednictvím kanálu), musíte zadat volbu dekomprese. Možnost, která říká taru, aby četl archivy pomocí gzip, je -z
.
V následujícím příkladu stahujeme Blendersources pomocí wget
a jeho výstup přesměrujte do tar
příkaz:
wget -c https://download.blender.org/source/blender-2.80.tar.gz -O - | sudo tar -xz
Pokud neurčíte možnost dekomprese, tar
zobrazí, kterou možnost byste měli použít:
tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now
Výpis souboru tar.gz #
Chcete-li zobrazit obsah souboru tar.gz, použijte --list
(-t
) možnost:
tar -tf archive.tar.gz
Výstup bude vypadat nějak takto:
file1
file2
file3
Pokud přidáte --verbose
(-v
), možnost tar
vytiskne další informace, jako je vlastník, velikost souboru, časové razítko atd.:
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
Závěr č.
tar.gz soubor je archiv Tar komprimovaný pomocí Gzip. Chcete-li extrahovat soubor tar.gz, použijte tar -xf
příkaz následovaný názvem archivu.
Pokud máte nějaké dotazy, zanechte prosím níže komentář.