Não há necessidade de cat ou gzip :
$ tar xvzf archive.tar.gz
A cadeia de opções informa tar para extrair ( x ) no modo detalhado ( v ) o arquivo compactado ( z ) após o f flag.
Usando todos os cat , tar e gzip (que é bobagem, não faça isso ):
$ cat archive.tar.gz | gzip -d -c | tar xvf -
ou
$ gzip -d -c archive.tar.gz | cat | tar xvf -
Quando for dado - como o nome do arquivo, tar lerá o arquivo da entrada padrão.
Os dois últimos exemplos sofrem com o que é comumente chamado de "Uso inútil de cat ", já que a única coisa que o cat faz é embaralhar os dados na próxima parte do pipeline.
Uma versão ligeiramente melhor, sem o cat :
$ gzip -c -d archive.tar.gz | tar xvf -
Isso pode realmente ser uma coisa útil para saber como fazer em um sistema no qual tar não sabe como lidar com arquivos compactados.
A string de opção arcaica que usei para tar acima, sem o traço ( - ) na frente dela, vem de um tempo antes que o traço fosse comumente usado para especificar opções de linha de comando. Outros utilitários que não usam a sintaxe de opção regular incluem dd e mt , mas enquanto a maioria das implementações de tar today compreende as opções de traço mais recentes, dd normalmente não. O comando mt (que controla operações de fita magnética) adquiriu algumas opções de traço (especialmente no Linux), mas a única parte não opcional da linha de comando ainda é o comando que você gostaria de executar na unidade, como como rewind ou eof .