De vídeos a pacotes de software inteiros, muitos arquivos são compactados e armazenados usando o formato .tar.gz. Enquanto extrair um arquivo .tar.gz não é tão fácil quanto descompactar um .zip, ele ainda é bastante simples.

As tecnologias avançam e o volume de dados presentes em mídias se torna cada vez maior, o tamanho dos arquivos tem crescido exponencialmente. Por esse motivo, tornou-se cada vez mais comum compactar arquivos em formatos como .tar.gz para armazenamento e transferência de dados.

Compactar e extrair esses arquivos nem sempre é intuitivo. Neste artigo, forneceremos guias básicos para descompactar arquivos .tar.gz em Linux e Windows, além de algumas dicas e truques úteis.

O que são arquivos .tar e .tar.gz?

Um arquivo “.tar” é uma coleção de arquivos compactados em um único arquivo ou arquivo de arquivamento. A sigla “TAR” significa “Tape ARchive” e remete ao tempo em que os arquivos eram armazenados em unidades de fita magnética.

Felizmente, você não precisa ser um técnico de informática dos anos 60 para usar e extrair arquivos .tar — nem os modernos arquivos .tar nada tem a ver com computadores antigos.

Assim como os arquivos .zip mais conhecidos, os arquivos .tar comprimem arquivos grandes em um único pacote, facilitando o armazenamento e o envio por e-mail, servidores, e outros meios. Como resultado, tornou-se uma extensão de arquivo comum para muitos pacotes de software de código aberto e outros recursos.

Mas, considerando que o .zip é mais fácil de usar, por que usar o .tar em primeiro lugar? Como observaremos na próxima seção, o .tar possui alguns recursos extras que o tornam o melhor formato de compressão para certos tipos de arquivos e aplicativos.

.tar vs .zip

Enquanto a maioria dos sistemas operacionais facilitam extrair e criar arquivos .zip, o mesmo não pode ser dito com facilidade para os arquivos .tar, pelo menos não de uma maneira fácil de notar.

Claro, isso não significa que os arquivos .tar sejam algum tipo de formato “inferior” em relação aos arquivos .zip. Em vez disso, ambos realizam a mesma tarefa (compressão de arquivos) da mesma forma. Aqui está uma explicação de como tudo isso funciona.

  • Um arquivo .tar é uma coleção de arquivos não compactados, às vezes conhecidos como “tarball”. Como o .tar não comprime nada, ele requer uma ferramenta de compressão separada para a compressão. Como veremos mais tarde, uma ferramenta de compressão popular é o gzip, que comprime um .tar em um arquivo .tar.gz.
  • Um arquivo .zip é uma coleção de arquivos compactados. Ao invés de usar uma ferramenta de compressão separado para compactar a coleção inteira, o .zip comprime automaticamente cada arquivo dentro da coleção.

Até agora, você provavelmente já notou a maior diferença entre os arquivos .tar e .zip: métodos de compressão.

Enquanto os arquivos .zip consistem em muitos arquivos individualmente compactados, os arquivos .tar são compactados como um único pacote, deixando seus arquivos não compactados. Em outras palavras, os arquivos .zip são uma coleção de arquivos compactados, enquanto os arquivos .tar são uma coleção comprimida de arquivos.

Mas será que o método de compressão realmente importa, especialmente se ambos os métodos tecnicamente produzem arquivos compactados?

Isso depende. Para envio e armazenamento, ambos os arquivos .zip e .tar.gz permitirão que você envie pacotes relativamente grandes como um único arquivo. No entanto, existem algumas diferenças consideráveis quando se trata de acessar os dados nos arquivos e a eficiência da compressão.

  • Os arquivos .zip são mais acessíveis. Como os dados em um arquivo .zip são compactados individualmente, eles também podem ser acessados individualmente. Em contraste, os dados em um arquivo .tar.gz só são acessíveis após a extração do arquivo inteiro.
  • Os arquivos .tar.gz são mais eficientes em termos de espaço. Como os arquivos .tar são compactados como uma única pasta em vez de um grupo de arquivos individualmente compactados, as ferramentas de compressão podem encontrar semelhanças entre arquivos e reduzir o espaço ocupado. Em outras palavras, compactar arquivos como um único grupo permite o uso de métodos de compressão mais eficientes, economizando espaço e reduzindo o tamanho geral do arquivo.

Detalhes técnicos à parte, tudo o que você precisa lembrar é que os arquivos .zip são mais acessíveis, mas menos eficientes em espaço, enquanto os arquivos .tar são menos acessíveis, mas mais eficientes em espaço. Como resultado, um não é necessariamente melhor do que o outro — tudo depende do aplicativo.

Qual é a diferença entre os arquivos .tar e .tar.gz?

Enquanto ambos .tar e .tar.gz se referem a arquivos de arquivo, um arquivo .tar.gz é um arquivo .tar que foi compactado ou “zipado” usando o utilitário gzip. Usar gzip para compressão é o que dá ao arquivo uma extensão dupla “.gz”.

Embora o gzip seja a ferramenta de compressão mais comum, ele não é o único. Como você pode imaginar, usar uma ferramenta de compressão diferente em um arquivo .tar irá resultar em uma extensão dupla diferente. Alguns exemplos comuns incluem .tar.bz2 (bzip2), .tar.br (Brotli), e .tar.zst (zstd), entre muitos outros.

Como veremos mais tarde, diferentes ferramentas de compressão podem exigir métodos diferentes para extrair e descompactar arquivos. Embora nos concentremos principalmente em arquivos .tar.gz, confira o final do artigo para obter algumas dicas rápidas sobre como extrair arquivos .tar em outros formatos.

Caso contrário, continue lendo para aprender como descompactar arquivos .tar.gz em Linux, macOS e Windows.

Como descompactar um arquivo .tar.gz em um terminal Linux?

A maioria das distribuições Linux e macOS incluem ferramentas integradas para compactar e descompactar arquivos .tar e .tar.gz. Enquanto a ferramenta tar é suficiente para a maioria dos propósitos, você precisará da ferramenta gzip para criar arquivos .tar.gz.

Descompactando arquivos .tar.gz no Linux

Você pode descompactar a maioria dos arquivos .tar.gz e outros arquivos .tar compactados usando o utilitário tar.

Para o método mais simples, comece abrindo o terminal (CTRL+ALT+T) e navegue até o diretório do arquivo .tar.gz que você deseja descompactar. Em seguida, digite o seguinte comando:

Extraia o arquivo .tar.gz para o diretório de trabalho atual:

 tar -xf filename.tar.gz

Este comando irá extrair (-x) o arquivo (-f) especificado (neste caso, filename.tar.gz) para o diretório atual. Note que este comando também funciona com outros formatos de compressão comuns, como .tar.bz2.

O comando tar também vem com várias outras opções. Como muitos comandos Linux, um deles é uma saída verbosa (-v) que imprime os arquivos extraídos para a janela do terminal:

Extrair o arquivo .tar.gz para o diretório de trabalho atual e imprimir a saída:

tar -xvf filename.tar.gz

Novamente, os comandos acima serão extraídos para o diretório de trabalho atual por padrão. Você pode usar a opção -C para extrair para um diretório diferente (neste caso, /home/user/files).

Extraia o arquivo .tar.gz para um diretório de trabalho diferente:

tar -xf filename.tar.gz -C /home/user/files

Extrair somente arquivos ou diretórios específicos de .tar.gz no Linux

O comando tar também fornece suporte para extrair somente arquivos ou diretórios específicos de um arquivo .tar.gz. Simplesmente adicione uma lista separada por espaço dos arquivos que você quer extrair.

Extraia o arquivo1 e o diretório1 do arquivo .tar.gz para o diretório de trabalho atual:

tar -xf filename.tar.gz file1 directory1

Note que este comando irá lançar um erro a menos que você especifique o nome exato do arquivo .tar listado. Como cobriremos mais na próxima seção, você pode verificar os nomes dos arquivos listando o conteúdo com o comando tar -tf filename.tar.gz.

Você também pode usar --wildcards para extrair todos os arquivos com uma certa extensão ou nome.

Extraia todos os arquivos terminados com “.txt” do arquivo .tar.gz:

tar -xf filename.tar.gz --wildcards '*.txt'

Unzip .tar.gz de stdin no Linux

Você também pode extrair .tar.gz diretamente da entrada padrão (stdin), usando o comando tar com a opção de descompressão (-z) em um pipeline.

Por exemplo, se você quisesse extrair o arquivo .tar.gz localizado em “https://kinsta.com/filename.tar.gz” (não há realmente um arquivo .tar.gz aqui, mas vamos supor que haja), você usaria o comando wget combinado com o comando tar.

Extrair o arquivo .tar.gz de uma URL:

wget -c https://kinsta.com/filename.tar.gz -O - | sudo tar -xz

Listar o conteúdo do arquivo .tar.gz no Linux

Muitas vezes é útil listar o conteúdo de um arquivo .tar.gz sem ter que descompactar o arquivo inteiro. A opção -list (-t) irá emitir uma lista de nomes de arquivos.

Liste o conteúdo de um arquivo .tar.gz:

tar -tf filename.tar.gz

Você também pode adicionar a opção de saída verbosa (-v) para fornecer listas detalhadas, incluindo datas, títulos/permissões, e muito mais.

Liste o conteúdo detalhado de um arquivo .tar.gz:

tar -tvf filename.tar.gz

Muitos utilitários de compressão também oferecem seus próprios comandos para listar o conteúdo de arquivos compactados. Por exemplo, o gzip permite que você liste o conteúdo de um arquivo .gz com o seguinte comando:

Liste o conteúdo detalhado de um arquivo .gz com gzip:

gzip -l filename

Zip e Unzip .tar e .tar.gz no Linux com gzip

Você pode criar seus próprios arquivos .tar compactados usando ferramentas de compressão, como gzip. Gzip é uma das opções mais populares e disponíveis, especialmente porque ele vem embutido na maioria das distribuições Linux e macOS.

No terminal, navegue até o diretório de trabalho do arquivo .tar que você quer compactar e simplesmente digite o seguinte comando:

Compactar o arquivo .tar com gzip:

gzip filename.tar

Você também pode descompactar o arquivo .tar.gz resultante com a opção de descompactação (-d).

Descompacte o arquivo .tar.gz com gzip:

gzip -d filename.tar

Se você quiser manter o arquivo original após a compressão, há duas opções. A primeira é a opção -k, e a outra utiliza a opção -c para produzir o arquivo compactado para um arquivo diferente, preservando o original.

Compactar o arquivo .tar e manter a cópia original:

gzip -c filename.tar

Compactar o arquivo .tar e armazená-lo como um arquivo diferente:

gzip -c filename.tar > newfilename.tar.gz

Como o utilitário tar, gzip também permite zipar e descompactar múltiplos arquivos ou diretórios inteiros de cada vez.

Compactar vários arquivos:

gzip file1 file2

Descompactar múltiplos arquivos:

gzip -d file1 file2

Compactar todos os arquivos em um diretório:

gzip -r directory1

Descompactar todos os arquivos em um diretório:

gzip -dr directory1

Como descompactar um arquivo .tar.gz no Windows 10?

Como Linux e macOS, o sistema operacional Windows 10 também inclui um utilitário tar embutido.

Ao contrário da interface gráfica de usuário (GUI) conveniente do Windows para descompactar arquivos .zip, você precisará usar o utilitário tar através da linha de comando. Entretanto, há também muitas ferramentas de terceiros que você pode instalar para uma experiência mais amigável ao usuário.

Usando a linha de comando (cmd)

Para acessar a linha de comando do Windows, procure por “prompt de comando” ou “cmd” na barra de pesquisa. Clique com o botão direito no primeiro resultado e selecione a opção “Executar como administrador”.

O ícone de Prompt de Comando após procurar “cmd” no Windows 10/11
O ícone de Prompt de Comando após procurar “cmd” no Windows 10/11

Com o prompt de comando aberto, use os comandos apropriados para mudar o diretório de trabalho atual (cd) para a localização do arquivo .tar.gz que você deseja descompactar. Alternativamente, você também pode especificar um caminho de arquivo de origem e destino quando usar o utilitário tar.

Digite um dos seguintes comandos e pressione “Enter”.

Extraia o arquivo .tar.gz para o diretório de trabalho atual:

tar -xvzf filename.tar.gz

Extraia o arquivo .tar.gz do caminho de origem para o caminho de destino:

tar -xvzf C:\PATH\TO\SOURCE\filename.tar.gz -C C:\PATH\TO\DESTINATION

Note que o utilitário tar no Windows tem quase a mesma sintaxe que tem no Linux e macOS. Aqui usamos as opções de extração (-x), verbose (-v), descompressão com gzip (-z) e arquivo (-f) para uma extração completa com descompressão e saída detalhada.

Usando ferramentas de terceiros

Caso você não esteja confortável com o uso da linha de comando, existem muitas ferramentas amigáveis ao usuário disponíveis para descompactar arquivos tar.gz.

Compactando um grande número de arquivos em .zip usando 7-Zip
Compactando um grande número de arquivos em .zip usando 7-Zip

Embora existam muitas ferramentas para escolher, as mais populares incluem o 7-Zip e o WinZip. Apesar de ligeiramente diferentes, eles são bastante leves e oferecem uma alternativa muito mais simples ao uso da linha de comando.

Algumas ferramentas de terceiros também oferecem maior flexibilidade para conversão entre tipos de arquivos, economizando mais tempo se você quiser mudar entre formatos de compressão. Muitas também estão disponíveis para Linux e macOS.

Opções de compatibilidade em 7-Zip incluindo .tar e .gz.
Opções de compatibilidade em 7-Zip incluindo .tar e .gz.

Entretanto, enquanto ferramentas como o 7-Zip são gratuitas, muitas outras soluções “robustas” só estão disponíveis por um preço após um período de teste. Como resultado, recomendamos a utilização de ferramentas gratuitas (mas de confiança) ou simplesmente o uso da linha de comando.

Solução de problemas de erros comuns

Nem toda extração .tar.gz é perfeita — especialmente se você estiver usando a linha de comando.

Onde os comandos têm pouco (ou nenhum) espaço para erros de digitação ou omissões, muitos erros comuns são o resultado de pequenos erros, erros ortográficos ou formatos incorretos. Felizmente, a menos que você esteja de alguma forma perdendo sua utilidade tar ou gzip, a maioria os erros comuns são muito fáceis de corrigir.

tar: README: Não encontrado no arquivo

Este erro ocorre quando tenta-se extrair arquivos ou diretórios específicos de um arquivo .tar.gz usando tar.

Entrada de Erro:

tar -xf filename.tar.gz FILE

Saída de Erro:

tar: FILE: Not found in filename
tar: Exiting with failure status due to previous errors

Neste exemplo, o usuário tentou extrair o arquivo intitulado “FILE” do arquivo filename.tar.gz. Entretanto, tar não conseguiu encontrar o arquivo FILE dentro de .tar.gz, o que significa que o usuário ou escreveu mal o nome ou o arquivo simplesmente não existe no arquivo filename.tar.gz. Outra causa comum de erros é a sensibilidade a maiúsculas e minúsculas, onde o Linux trata “FILE” e “file” como duas coisas separadas.

Solução: Verificar a ortografia e/ou verificar se o arquivo existe no arquivo .tar.gz, listando o conteúdo com tar -tf filename.tar.gz.

tar: O arquivo está compactado. Use a opção -z

Este erro ocorre se você tentar descompactar um arquivo sem especificar uma ferramenta de descompressão, especificamente -z para gzip.

Error Input:

wget -c https://kinsta.com/filename.tar.gz -O - | sudo tar -x

Note que o “-z” está faltando no que deveria ser sudo tar -xz na extrema-direita.

Error Output:

tar: Archive is compressed. Use -z option
tar: Error is not recoverable: exiting now

Solução: Especifique uma opção de descompressão, como gzip (-z) no comando tar.

gzip: stdin: não está no formato gzip

Muitos usuários relatam executar os comandos “certos” apenas para descobrir que seu .tar.gz “não está no formato gzip” — apesar da extensão .gz.

Saída de Erro:

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error exit delayed from previous errors

Este erro geralmente ocorre quando um .tar foi salvo como um .gz, apesar de nunca ter sido compactado usando o utilitário gzip. Pode parecer um erro bobo, mas é surpreendentemente comum em situações onde os usuários renomeiam diretamente os arquivos e suas extensões (como .tar e .gz) no processo.

Solução: Encontre uma nova cópia do arquivo .tar.gz, ou simplesmente extraia como um arquivo .tar usando tar -xf filename.tar em seu lugar. Caso esse comando também lance um erro, a próxima solução pode ajudar.

tar: Formato de arquivo não reconhecido

Similar ao erro anterior, este erro ocorre quando um arquivo foi salvo como um .tar apesar de não ser um arquivo .tar.

Error Output:

tar: Unrecognized archive format
tar: Error exit delayed from previous errors.

Solução: Encontre uma nova cópia do arquivo .tar ou .tar.gz, ou tente extrair com gunzip filename.tar.gz em vez disso. Caso o comando gunzip não funcionar, tente listar o conteúdo com a saída detalhada com tar -xvf filename.tar.gz e veja se existe um arquivo específico causando o problema. Entretanto, é provável que o arquivo nunca tenha sido zipado corretamente como um arquivo .tar em primeiro lugar.

FAQs

É fácil ficar confuso ao navegar entre .tar, .tar.gz e .gz — para não mencionar zipar e descompactar. Aqui estão algumas perguntas frequentes que normalmente ouvimos dos usuários que trabalham com arquivos .tar.gz.

Como abro um arquivo .tar.gz?

Você pode abrir a maioria dos arquivos .tar.gz usando o comando tar integrado no Linux, macOS e Windows 10. Caso você não esteja confortável com o terminal ou linha de comando, ferramentas de terceiros como o 7-Zip oferecem uma alternativa mais amigável para o usuário.

O arquivo .gz é um arquivo .tar?

Enquanto todo arquivo tar.gz é um arquivo .tar, nem todo arquivo .gz é um arquivo .tar. A extensão .gz representa o formato de compressão gzip, que pode ser aplicado a quase qualquer formato de arquivo para compactar dados e economizar espaço.

O arquivo .tar.gz é o mesmo que .zip?

Embora ambos .zip e .tar.gz possam arquivar e compactar arquivos, eles o fazem de maneiras diferentes. Enquanto .zip arquiva e comprime arquivos individuais, o .tar arquiva apenas arquivos individuais, deixando um formato de compressão separado como .gz (gzip) para comprimi-los como um único arquivo/arquivo de coleção. Em outras palavras, .zip é uma coleção de arquivos compactados, enquanto .tar.gz é uma coleção de arquivos compactados.

O .tar.gz é mais eficiente do que o .zip?

Sim. Como o .tar.gz comprime vários arquivos ao mesmo tempo, ele pode aproveitar as semelhanças entre arquivos individuais para economizar espaço. Geralmente falando, uma coleção de arquivos arquivados e compactados como um .tar.gz será mais eficiente em espaço (ou seja, menor) do que a mesma coleção compactada como um .zip.

Resumo

Com Linux, macOS e Windows 10 oferecendo um utilitário de tar integrado, é mais fácil do que nunca descompactar arquivos tar.gz através da linha de comando. Normalmente, o único comando que você realmente precisará é:

tar -xvzf filename.tar.gz

Assim como muitos formatos de arquivos de arquivamento e compressão, o .tar.gz é uma maneira eficaz de economizar espaço de armazenamento e facilitar o envio de grandes quantidades de dados. Se você planeja distribuir e armazenar arquivos .tar.gz em seu site, os serviços de hospedagem gerenciada de WordPress da Kinsta podem ajudar a aproveitar ao máximo o seu espaço.

Para mais informações e para agendar uma demonstração em tempo real, entre em contato com um especialista de hospedagem da Kinsta hoje mesmo!