tar
umožňuje vytvářet a extrahovat archivy tar. Podporuje širokou škálu kompresních programů, jako je gzip, bzip2, lzip, lzma, lzop, xz a komprese.
Xz je populární algoritmus pro kompresi souborů založený na algoritmu LZMA. Podle konvence název archivu tar komprimovaného pomocí xz končí buď .tar.xz nebo .txz .
Tento článek vysvětluje, jak používat tar
příkaz k extrahování (nebo rozbalení) .tar.xz nebo .txz archivy.
Extrahování souboru tar.xz #
tar nástroj je ve výchozím nastavení předinstalován ve všech distribucích Linuxu a macOS.
Chcete-li extrahovat soubor tar.xz, vyvolejte tar
pomocí příkazu --extract
(-x
) a zadejte název archivního souboru za -f
možnost:
tar -xf archive.tar.xz
tar
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.gz nebo .tar.bz2 .
Pokud vám nevyhovuje příkazový řádek, můžete použít správce souborů GUI. Chcete-li extrahovat (rozbalit) soubor tar.xz, jednoduše klikněte pravým tlačítkem na soubor, který chcete extrahovat, a vyberte „Extrahovat“. Uživatelé Windows potřebují nástroj s názvem 7zip k extrahování souborů tar.xz.
Pro podrobnější výstup použijte -v
volba. Tato možnost říká tar
pro zobrazení názvů extrahovaných souborů na terminálu.
tar -xvf archive.tar.xz
Ve výchozím nastavení tar
extrahuje obsah archivu v aktuálním pracovním adresáři. Chcete-li extrahovat archivní soubory v určitém adresáři, použijte --directory
(-C
).
Následující příklad ukazuje, jak extrahovat obsah archivu do /home/linuxize/files
adresář:
tar -xf archive.tar.xz -C /home/linuxize/files
Extrahování konkrétních souborů ze souboru tar.xz #
Chcete-li extrahovat konkrétní soubor(y) ze souboru tar.xz, připojte za název archivu seznam názvů souborů, které mají být extrahovány:
tar -xf archive.tar.xz file1 file2
Při extrahování souborů musíte zadat jejich přesné názvy včetně cesty, jak jsou vytištěny při tar
je vyvolán pomocí --list
(-t
).
Rozbalení jednoho nebo více adresářů z archivu je stejné jako rozbalení více souborů:
tar -xf archive.tar.xz dir1 dir2
Pokud se pokusíte extrahovat soubor, který v archivu neexistuje, zobrazí se chybová zpráva podobná následující:
tar -xf archive.tar.xz README
tar: README: Not found in archive
tar: Exiting with failure status due to previous errors
--wildcards
umožňuje extrahovat soubory ze souboru tar.xz na základě vzoru zástupných znaků. Vzor musí být citován, aby jej shell nemohl interpretovat.
Chcete-li například extrahovat pouze soubory, jejichž názvy končí na .png
, použili byste:
tar -xf archive.tar.xz --wildcards '*.png'
Extrahování souboru tar.xz z stdin #
Při extrahování komprimovaného souboru tar.xz čtením archivu ze standardního vstupu (obvykle prostřednictvím potrubí), musíte zadat možnost dekomprese. -J
volba říká tar
že soubor je komprimován pomocí xz.
V níže uvedeném příkladu stahujeme linuxové jádro pomocí wget
a jeho výstup přesměrujte do tar
příkaz:
wget -c https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.3.tar.xz -O - | sudo tar -xj
Pokud neurčíte možnost dekomprese, tar
vám ukáže, kterou možnost byste měli použít:
tar: Archive is compressed. Use -J option
tar: Error is not recoverable: exiting now
Výpis obsahu souboru tar.xz #
Chcete-li zobrazit obsah souboru tar.xz, použijte --list
(-t
) možnost:
tar -tf archive.tar.xz
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.xz
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file1
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file2
-rw-r--r-- linuxize/users 0 2020-02-15 01:19 file3
Závěr č.
tar.xz soubor je archiv Tar komprimovaný pomocí xz. Chcete-li extrahovat soubor tar.xz, použijte tar -xf
za ním následuje název archivu.
Pokud máte nějaké dotazy, zanechte prosím níže komentář.