Guia completo de como descompactar arquivos tar.gz
Tutoriais

Guia completo de como descompactar arquivos tar.gz

Você já precisou descompactar arquivos tar.gz? Assim como os arquivos .zip são muito comuns no mundo Windows, no Linux (e Mac) é muito comum que os arquivos sejam compactados utilizando os métodos gzip e bzip2, mais eficientes e poderosos do que o zip.

Antes que você se perca na sopa de letrinhas, venha comigo para aprender a utilizar o comando tar nos seus scripts ou através das interfaces gráficas.

O que são os arquivos tar?

Os arquivos .tar são um conjunto compactado de vários arquivos individuais descompactados, enquanto os arquivos .zip, por exemplo, são formados por um ou vários arquivos compactados um a um, formando uma coleção de arquivos compactados. Apesar de ser mais comum em sistemas do tipo Unix, também pode ser utilizado no Windows com a ferramenta 7-zip.

A ferramenta tar processa arquivos com vários métodos de compactação, por exemplo:

  • .tgz (método gzip)
  • .tar.bz2 (método bzip2)
  • .tar.xz (método xz)
  • .tar.zst (método zstd)

O bzip2 é mais  poderoso do que o gzip e, como resultado, os arquivos .bz2 são menores quando comparados com o gzip.

Vantagens de utilizar o programa tar:

  • O programa tar utiliza os algorítimos de compactação disponíveis e o resultado é um arquivo muito mais compactado do que o obtido com outras ferramentas;
  • Mantém intactas as permissões, datas e outros parâmetros dos arquivos durante o processo de compactação;
  • A ferramenta tar está disponível por padrão na maioria das distribuições Linux;
  • Velocidade de compactação e descompactação consideravelmente mais rápidas que as outras ferramentas;
  • Muito flexível para ser utilizado em scripts, criar backups ou fazer upload de arquivos grandes;
  • Permite reduzir o uso de espaço no sistema.

Procedimentos via linha de comando

Comecemos aprendendo como utilizar a linha de comando para descompactar arquivos tar.gz, algo que é relativamente simples e permite que você utilize comandos nos seus scripts. Após fazer um download de um arquivo tar.gz por meio de um script (utilizando, por exemplo, as ferramentas wget ou curl), você pode descompactar arquivos tar.gz e extrair o conteúdo do arquivo baixado.

As principais opções disponíveis para compactar e descompactar arquivos tar.gz na linha de comando são:                   

–deleteExclui arquivos do arquivo-tar
–wildcardsUsa coringas (padrão para exclusão)
-a, –auto-compressUsa terminação do arquivo-tar para determinar o programa compressor
-c, –createCria um novo arquivo-tar
-CEspecifica a pasta dos arquivos a serem armazenados ou a pasta para onde devem ser extraídos
-d, –diff, –compareEncontra diferenças entre um arquivo-tar e o sistema de arquivos
-f, –file=arquivo-tarEspecifica o arquivo-tar a ser usado
-jComprime ou extrai o arquivo-tar resultante com o método bzip2 em arquivos .bz2
-pMantém as permissões originais do(s) arquivo(s)
-r, –appendAnexa arquivos ao final de um arquivo-tar
-t, –listExibe o conteúdo de um arquivo-tar
-u, –updateAnexa apenas arquivos mais novos do que a cópia no arquivo-tar
-v, –verboseLista em detalhes os arquivos que estão sendo processados
-w Pede confirmação antes de cada ação
-x, –extract, –getExtrai arquivos de um arquivo-tar
-zComprime ou extrai arquivo-tar resultante com o método gzip

Agora vejamos alguns exemplos, na prática.

Como extrair arquivos

Extrair arquivos de um arquivo compactado (input.tar, ou input.gz, ou input.bz2, ou input.xz):

tar -xvf input.tar[.gz|.bz2|.xz]

Extrair arquivos de um arquivo compactado para uma pasta específica (diretório):

tar -xvf input.tar[.gz|.bz2|.xz] -C diretório

Para extrair arquivo(s) específico(s), liste os caminhos e os nomes separados por espaços após o nome do arquivo compactado (você pode utilizar previamente o parâmetro -t ou –list para obter essas informações):

tar -xf input.tar[.gz|.bz2|.xz] /caminho/para/o/arquivo1 /caminho/para/o/arquivo2

Extrair arquivos que seguem um padrão, por exemplo, arquivos .html:

tar -xvf input.tar --wildcards "*.html"

Extrair os arquivos para uma pasta específica (/caminho/para/a/pasta):

tar -xf input.tar.gz -C /caminho/para/a/pasta

Como compactar arquivos

Para fazer a operação inversa, isto é, compactar vários arquivos e poder, por exemplo, enviar por e-mail, use os seguintes comandos.

Compactar arquivos (arquivo1, arquivo2 e arquivo3) num arquivo tar (output.tar):

tar -cvf output.tar arquivo1 arquivo2 arquivo3

Compactar arquivos (arquivo1, arquivo2 e arquivo3) num arquivo gzip (output.tar.gz):

tar -czvf output.tar.gz arquivo1 arquivo2 arquivo3

Compactar arquivos (arquivo1, arquivo2 e arquivo3) definindo automaticamente o tipo de compressão pela extensão  num arquivo tar (output.tar.xz):

tar -cavf output.tar.xz arquivo1 arquivo2 arquivo3

Supercompactar arquivos (arquivo1, arquivo2 e arquivo3) usando a compressão bzip2:

tar -cvjf output.tar.bz2 arquivo1 arquivo2 arquivo3

Nota: você pode adicionar arquivos ou pastas a arquivos tar pré-existentes, mas não é possível adicionar arquivos ou pastas em arquivos .tar.gz ou .tar.bz2.

Para listar os arquivos contidos dentro de um arquivo tar, utilize o seguinte comando:

tar -tvf input.tar

Tanto a ajuda quanto o manual trazem todos os comandos da poderosa ferramenta tar:

tar --help

ou

man tar

Como regra geral, os nomes dos arquivos precisam ser escritos entre aspas, caso contenham espaços.

Procedimentos via interface gráfica

Se você prefere utilizar uma interface gráfica para gerenciar os seus arquivos compactados no Linux, pode escolher a ferramenta de código aberto PeaZip ou as nativas da sua distribuição, clicando com o botão direito do mouse sobre um arquivo compactado no gerenciador de arquivos.

O PeaZip não está em português, mas, assim como no KDE (Ark) e no Gnome (Gerenciador de Compactação), a navegação é muito simples e intuitiva.

Descompactar arquivos tar.gz — Gerenciador de compactação do Gnome
Descompactar arquivos tar.gz — Gerenciador de compactação do Gnome
Descompactar arquivos tar.gz — Gerenciador de compactação do KDE
Descompactar arquivos tar.gz — Gerenciador de compactação do KDE

O tar é um poderoso programa para compactar e descompactar arquivos tar.gz, mas também para criar arquivos de instalação, por exemplo, nas distribuições baseadas no Arch Linux (arquivos .pkg.tar.zst).

Quer aprender mais? Então assine agora a nossa newsletter semanal e fique por dentro das novidades e dicas do mundo da tecnologia e dos códigos abertos.

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!
64 postagens

Sobre o autor
Para mim, as melhores coisas da vida são gratuitas e não tem preço. Sou apaixonado por compartilhar conhecimento e experiências sobre tecnologia e software livre.
Artigos