Jak rozbalit soubor tar.gz
Pokud používáte software s otevřeným zdrojovým kódem, je pravděpodobné, že se v určitém okamžiku setkáte se souborem .tar. Nástroj pro archiv tar s otevřeným zdrojovým kódem existuje od roku 1979 , takže je ve světě POSIX skutečně všudypřítomný. Jeho účel je jednoduchý: Vezme jeden nebo více souborů a „zabalí“ je do samostatného souboru, který se nazývá páskový archiv, protože když byl vynalezen tar, byl použit k umístění dat na úložné pásky.
Lidé noví ve formátu tar jej obvykle přirovnávají k souboru .zip, ale archiv tar není komprimován. Formát tar vytváří pouze kontejner pro soubory, ale soubory lze komprimovat. se samostatnými nástroji. Běžné komprese aplikované na soubor .tar jsou Gzip, bzip2 a xz. Proto zřídka vidíte pouze soubor .tar a častěji se setkáváte se soubory .tar.gz nebo .tgz.
Instalace tar
V systémech Linux, BSD, Illumos a dokonce i Mac OS je příkaz tar již nainstalován.
V systému Windows je nejjednodušší způsob zpracování souborů .tar je insta ll open source nástroj LGPL 7-Zip. Jeho název napovídá, že je to zip nástroj, ale funguje také s tar archivy a dokonce poskytuje příkazy pro rozhraní příkazového řádku cmd.
Pokud opravdu chcete skutečný tar nástroj v systému Windows, GNU tar je instalovatelné přes WSL na Windows 10 nebo přes Cygwin.
Vytvoření tarballu
Archiv taru se často označuje jako tarball, pravděpodobně proto, že my hackeři rádi zkrátíme slova na co nejméně slabik a „tarball“ je kratší a jednodušší než „tar archiv“.
Vytvoření tarballu je v GUI nanejvýš tříkrokový proces. Používám KDE, ale proces je v podstatě stejný na Gnome nebo XFCE:
- Vytvořte adresář
- Umístěte soubory do adresáře
- Klikněte pravým tlačítkem na adresář a vyberte „Komprimovat“
compress.jpg
Vytvoření tarballu
V prostředí shell je to v zásadě stejné proces.
Shromáždit gr více souborů do jednoho archivu, umístěte své soubory do adresáře a poté vyvolejte tar s uvedením názvu archivu, který chcete vytvořit, a adresáře, který chcete archivovat:
Obslužný program tar je mezi příkazy jedinečný, protože před svými krátkými možnostmi nevyžaduje pomlčky, což umožňuje výkonným uživatelům zkracovat složité příkazy, jako je tento:
Před archivací nemusíte soubory ukládat do adresáře, ale je to považováno za špatnou etiketu, protože nikdo nechce, aby při archivaci adresáře bylo na jejich ploše rozmístěno 50 souborů. Tyto druhy archivů se někdy nazývají tarbomb, i když ne vždy s negativní konotací. Tarbomby jsou užitečné pro opravy a instalátory softwaru; jde jen o to vědět, kdy je použít a kdy se jim vyhnout.
Komprimace archivů
Vytvoření archivu tar nekomprimuje vaše soubory, pouze je usnadňuje pohybujte se jako jeden blob. Pro kompresi můžete použít tar volání Gzip nebo bzip:
$ tar --create --bzip2 --file foo.tar.bz2 myfiles
$ tar --create --gzip --file foo.tar.gz myfiles
Běžné přípony jsou tar.gz a .tgz pro gzipovaný tar soubor a .tbz a .tar.bz2 pro bzipovaný soubor tar.
Extrahování archivů
Pokud jste obdrželi tarball od přítele nebo softwarového projektu, můžete extrahovat buď na ploše GUI, nebo ve skořápce. V grafickém uživatelském rozhraní klikněte pravým tlačítkem na archiv, který chcete extrahovat, a vyberte možnost „Extrahovat“.
extract_0.jpg
Extrakce archivu
Správce souborů Dolphin nabízí funkci automatického zjišťování, zda jsou soubory extrahované z archivu obsaženy v adresáři, nebo zda je pro ně třeba vytvořit nový adresář. Tuto možnost používám k tomu, aby při extrahování souborů z tarbomb zůstaly uklizené a obsažené.
V prostředí shell je příkaz pro extrahování archivu docela intuitivní:
Zkušení uživatelé to zkrátí na:
K rozbalení souborů .zip můžete dokonce použít nástroj tar:
Rozšířený tar
Nástroje tar jsou velmi robustní a flexibilní. Jakmile se seznámíte se základy, je užitečné prozkoumat další funkce.
Přidejte soubor nebo adresář do existujícího tarballu
Pokud máte existující tarball a chcete přidejte do něj nový soubor, nemusíte archivovat vše, jen abyste přidali nový soubor.
Většina desktopů Linux a BSD je vybavena grafickým archivačním nástrojem. Pomocí něj můžete otevřít archiv tar jako by to byl jakýkoli jiný adresář, nahlédněte dovnitř, extrahujte jednotlivé soubory, přidejte do nich soubory a dokonce si prohlédněte textové soubory a obrázky, které obsahuje.
archa.jpg
Obslužný program archivu
V prostředí shellu můžete do archivu tar přidat soubor nebo adresář, pokud není komprimován. Pokud byl váš archiv komprimován, musíte jej dekomprimovat, ale nemusíte jej archivovat.
Například pokud byl archiv komprimován pomocí Gzip:
$ gunzip archive.tar.gz
$ ls
archive.tar
Nyní, když máte nekomprimovaný archiv tar, přidejte do něj soubor a adresář:
$ tar --append --file archive.tar foo.txt
$ tar --append --file archive.tar bar/
Kratší verze:
$ tar rf archive.tar foo.txt
$ tar rf archive.tar bar/
Zobrazit seznam souborů v tarballu
Chcete-li zobrazit soubory v archivu, komprimované nebo nekomprimované, použijte – možnost seznamu:
$ tar --list --file archive.tar.gz
myfiles/
myfiles/one
myfiles/two
myfiles/three
bar/
bar/four
foo.txt
Zkušení uživatelé to zkrátí na:
Extrahovat pouze jeden soubor nebo adresář
Někdy nepotřebujete všechny soubory v archivu, chcete pouze extrahovat jeden nebo dva. Po zobrazení obsahu archivu tar použijte obvyklý příkaz pro výpis tar spolu s cesta k souboru, který chcete extrahovat:
$ tar xvf archive.tar.gz bar/four
bar/four
Extrakce více souborů nebo adresářů je v zásadě stejná:
$ tar xvf archive.tar.gz myfiles/one bar/four
myfiles/one
bar/four
$ tar xvf archive.tar.gz --wildcards "*.txt"
foo.txt
Extrahujte tarball do jiného adresáře
Dříve jsem zmínil, že některé tarbally byly tarbomby, které opustily soubory roztroušené po vašem počítači. Pokud zobrazíte seznam archivu tar a zjistíte, že jeho soubory nejsou obsaženy v adresáři, můžete pro ně vytvořit cílový adresář:
$ tar --list --file archive.tar.gz
foo
bar
baz
$ mkdir newfiles
$ tar xvf archive.tar.gz -C newfiles
Toto umístí všechny soubory v archivu úhledně do adresáře „newfiles“.
Volba cílového adresáře je užitečná mnohem víc než jen udržovat pořádek v extrahovaných souborech, například distribuovat soubory, které mají být zkopírovány do stávající adresářová struktura. Pokud pracujete na webu a chcete správci poslat nějaké nové soubory, můžete to udělat několika různými způsoby. Zřejmým způsobem je poslat e-mailem soubory správci webu spolu s textem vysvětlujícím, kde má být každý soubor. umístil: „Připojený soubor index.php jde do /var/www/example.com/store a soubor vouchers.php jde do /var/www/example.com/deals …“
Efektivnějším způsobem by bylo vytvořit archiv tar:
Vzhledem k této struktuře může správce webu extrahovat váš příchozí archiv přímo do kořenového adresáře serveru. Obslužný program tar automaticky detekuje existenci /var/www/example.com, stejně jako úložiště podadresářů, nabídky a obrázky a distribuuje soubory do správných adresářů. Hromadné kopírování a vkládání probíhá rychle a snadno.
GNU tar a BSD tar
Formát tar je pouze formát a je to otevřený formát, takže může být vytvořen více než jedním nástrojem.
Existují dva běžné nástroje pro tar: nástroj GNU tar, nainstalovaný ve výchozím nastavení v systémech Linux, a nástroj BSD tar, nainstalovaný ve výchozím nastavení v BSD, Mac OS a některé systémy Linux. Pro obecné použití bude stačit buď tar. Všechny příklady v tomto článku fungují stejně například na tar GNU nebo BSD. Tyto dva nástroje však mají určité drobné rozdíly, takže jakmile vám bude vyhovovat jeden, měli byste vyzkoušet druhý.
Pravděpodobně si budete muset nainstalovat „jiný“ tar (ať už je jakýkoli na váš systém) ručně. Abyste předešli nejasnostem mezi obslužnými programy, GNU tar se často jmenuje gtar a BSD tar se jmenuje bsdtar, přičemž příkazový tar je symbolický odkaz nebo alias k tomu, který byl předinstalován ve vašem počítači.