Descompacte o arquivo compactado em .txz e .tar com um comando


13

Eu tenho um arquivo compactado em * .txz. Depois de desempacotá-lo, recebi um arquivo * .tar. Existe alguma maneira de descompactá-lo duas vezes com um comando? Quero dizer descompactar arquivo (* .tar) .txz com um comando?

Para saber, eu faço assim:

xz -d file.txz
tar xvf file.tar

Mas eu me pergunto se existe uma maneira melhor.

Respostas:


18
xz -d < file.tar.xz | tar xvf -

É o mesmo que em qualquer arquivo compactado. Você nunca precisará criar uma cópia não compactada do arquivo original.

Algumas tarimplementações, como as versões recentes do GNU, tartêm opções integradas para chamar xzpor si mesmas.

Com GNU tarou bsdtar:

tar Jxvf file.tar.xz

No entanto, se você possui uma versão que possui -J, é provável que ela detecte xzarquivos automaticamente, portanto:

tar xvf file.tar.xz

será suficiente.

Se o seu GNU ou BSD tarfor muito antigo para suportar xzespecificamente, você poderá usar a --use-compress-programopção:

tar --use-compress-program=xz -xvf file.tar.gz

Uma das vantagens de tarchamar o utilitário do compressor é que ele pode relatar a falha do mesmo em seu status de saída.

Nota: se o tar.xzarquivo morto foi criado pixz, pixzpode ter adicionado um taríndice a ele, o que permite extrair arquivos individualmente sem precisar descompactar todo o arquivo morto:

pixz -x path/to/file/in/archive < file.tar.xz | tar xvf -

Eu tenho que usar este: tar --use-compress-program = xz -xvf file.tar.gz Obrigado!
Paweł Jaworowski


4

Desembalar provavelmente não é a terminologia correta. Você pode descompactar com xze untar com tar.

A página de manual do GNU tar( man tarGNU tar é o padrão no Debian) especifica que você pode usar:

-I, --use-compress-program PROG
      filter through PROG (must accept -d)

e xzsuporta a -dopção, para que você possa usar:

tar --use-compress-program xz xvf file.txz 

O que é muito menos claro na página de manual é isso -xze -Jsão atalhos para --use-compress-program xzor -I xz.

E o que não está especificado na página de manual é que você pode simplesmente fazer

tar xvf file.txz 

no GNU tar e que ele reconhecerá o arquivo tar como sendo compactado xz.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.