GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak zkomprimovat více souborů do archivu .xz?

Chci zkomprimovat několik obrázků do archivu .xz. Jak to udělám?

Přijatá odpověď:

Ačkoli tar cJf archive files... jak podrobně popisuje Zacharee1 a heemayl, obvykle budete chtít udělat, dalším způsobem je nasměrovat data tarred do xz příkaz:

tar c files... | xz > archive.tar.xz

Od tar Ubuntu podporuje J Tento alternativní způsob je zvláště užitečný, když chcete předat volby xz .

V tomto příkladu taruji a xzipuji některé soubory TIFF s vysokou úrovní komprese (-9 na xz ) a podrobný výstup (v na tar , -v na xz ):

[email protected]:~/Pictures$ tar vc *.tif{,f} | xz -9v > pics.tar.xz
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
  100 %       207.3 KiB / 290.0 KiB = 0.715

To lze samozřejmě provést také ve dvou výslovně samostatných krocích:

[email protected]:~/Pictures$ tar vcf pics.tar *.tif{,f}
page001.tif
page002.tif
page003.tif
page004.tif
page9087.tif
page3la.tiff
quux0000.tiff
[email protected]:~/Pictures$ xz -9v pics.tar
pics.tar (1/1)
  100 %       207.3 KiB / 290.0 KiB = 0.715

Tyto dva způsoby nejsou ve skutečnosti ekvivalentní v tom, jak fungují, ačkoli .tar.xz soubory, které nakonec produkují, by měly být stejné (a byly, když jsem to testoval).

  • V první je výstup tar je zprostředkován (| ) na vstup xz . xz přijímá data z tar téměř okamžitě a nikdy se nevytvoří žádný přechodný nekomprimovaný soubor tar. To znamená, že první způsob je v podstatě ekvivalentní tar cJf archive files... , kromě dalších argumentů předávaných do xz .
  • Ve druhém je prvním příkazem vytvořen nekomprimovaný archiv tar a poté komprimován pomocí xz ve druhém příkazu. (xz po dokončení automaticky odstraní původní soubor, pokud není vyvolán pomocí -k /--keep .)

Pro další čtení se podívejte na tento příspěvek od Rafaela van Horna a tar a xz manuálové stránky.


Ubuntu
  1. Jak tarovat (komprimovat) soubory, s výjimkou určitých souborů nebo adresářů

  2. Jak archivovat a komprimovat soubory na Linuxu

  3. Jak komprimovat více souborů v systému Linux

  1. Jak komprimovat symbolický odkaz?

  2. Jak rozdělit jeden textový soubor do více souborů *.txt?

  3. Jak gzipovat více souborů do jednoho souboru gz?

  1. Jak extrahovat soubory z archivu balíčků Debian DEB

  2. Jak rozdělit velký archiv „tar“ na více souborů určité velikosti

  3. Jak rozdělit jeden soubor do více souborů na základě řádků