Como abrir arquivos .gz e .tgz no Linux

Descompactar arquivos, especialmente no ambiente Linux, é uma tarefa rotineira. Com o uso frequente de arquivos .gz e .tgz, é crucial compreender as nuances desses tipos de arquivo e as ferramentas usadas para gerenciá-los. Este guia irá se aprofundar no mundo dos arquivos GZ e TGZ, oferecendo insights e instruções passo a passo sobre como lidar com eles de forma eficiente.

Compreendendo a compactação de arquivos no Linux

A compactação de arquivos é fundamental para otimizar o armazenamento e garantir uma transferência de dados eficiente. No Linux, isso é conseguido usando diversas ferramentas e formatos de arquivo, cada um com características únicas.

O que torna os arquivos TAR, GZ e TGZ únicos?

  • Arquivos TAR explicados
    • TAR significa Arquivo de fita. Sua função principal é agrupar vários arquivos em uma única entidade conhecida como arquivo TAR. Curiosamente, o TAR não compacta esses arquivos; apenas os agrupa, garantindo que o seu tamanho original permaneça inalterado.
  • Mergulhando nos arquivos GZ
    • Os arquivos GZ emergem da ferramenta de compactação Gzip. Ao contrário do TAR, o Gzip compacta o arquivo, reduzindo seu tamanho. No entanto, é importante notar que o Gzip compacta arquivos individuais. Portanto, se você tiver vários arquivos, o Gzip produzirá um número equivalente de arquivos GZ. Este método de compactação é básico em sistemas Linux e Unix.
  • A fusão: arquivos TAR.GZ
    • Um arquivo TAR.GZ é essencialmente um arquivo TAR que foi compactado usando Gzip. É um híbrido, combinando a capacidade de agrupamento do TAR com a capacidade de compactação do Gzip. Este tipo de arquivo é encontrado predominantemente em sistemas Linux e Unix.
  • TGZ: um sinônimo para TAR.GZ
    • Os arquivos TAR.GZ são frequentemente chamados de arquivos TGZ. Eles são essencialmente os mesmos, apenas com nomes diferentes por conveniência.
  • Arquivos ZIP: uma visão geral rápida
    • Arquivos ZIP, como TAR, agrupam vários arquivos. No entanto, eles também compactam esses arquivos, semelhante ao GZ. Embora os arquivos ZIP sejam onipresentes em vários sistemas operacionais, eles são mais comumente associados ao Windows.

Tarball ou Tarfile: o que há em um nome?

O termo tarball ou tarfile é coloquialmente usado para descrever arquivos compactados em formatos TAR específicos:

  • Arquivo TAR: Essencialmente um arquivo Tape Archive.
  • Arquivo TAR.GZ ou TGZ: é quando o arquivo TAR sofre compactação Gzip.
  • Arquivo TAR.BZ2 ou TBZ: Este formato surge quando a compactação Bzip2 é aplicada ao arquivo TAR.

Um tarball é essencialmente uma coleção de arquivos agrupados. O comando tar produz esses arquivos. Embora o tar não suporte inerentemente a compactação, ele geralmente colabora com ferramentas de compactação como Gzip ou Bzip2 para economizar espaço em disco. Esses utilitários normalmente compactam arquivos únicos, para que eles sinergizem com o tar para produzir um arquivo único a partir de vários arquivos.

Tar e Gzip/Gunzip para arquivos GZ e TGZ no Linux

Tirando e Gzip são fortes no ecossistema Linux, conhecidos por seus recursos de arquivamento e compactação de arquivos. Embora muitas vezes funcionem em conjunto, eles servem a propósitos distintos:

  • O papel do utilitário Tar
    • Tirando reúne vários arquivos em um único arquivo, geralmente denominado tarball. Este arquivo retém os atributos do sistema de arquivos dos arquivos encapsulados, como permissões e propriedade. Após a criação, os usuários ainda podem modificar o arquivo, adicionando ou removendo arquivos ou ajustando nomes de arquivos, a menos que esteja compactado. O tar O comando é ideal para gerenciar arquivos TAR e TAR.GZ no Linux, facilitando sua criação, modificação e extração.
    • Historicamente, os tarballs eram o meio de backup preferido, transferidos para unidades de fita locais, daí o apelido Tape Archive (Tar). Embora o Tar não compacte arquivos, o uso moderno invariavelmente envolve compactação para economizar espaço em disco e facilitar transferências entre sistemas.
    • Tar é versátil, suportando uma infinidade de métodos de compactação. Os utilitários Gzip/Gunzip e Bzip2/Bunzip2 reinam supremos, com a aliança Tar-Gzip emergindo como a principal solução de arquivamento de arquivos para Linux.
  • Gzip no cenário Linux
    • Gzip é o principal utilitário de compactação de arquivos do Linux. Pode funcionar de forma independente, compactando arquivos individuais. Quando o Gzip compacta um arquivo, ele gera uma nova variante compactada, enquanto o original normalmente é descartado. O arquivo compactado resultante não possui a extensão GZ. Consequentemente, quando o Gzip colabora com o Tar, o arquivo compactado assume a extensão TAR.GZ ou TGZ.
    • Gzip x Zip: Embora o Gzip empregue o mesmo algoritmo de compactação do renomado utilitário do Windows, Zip, há uma diferença fundamental. Gzip compacta arquivos singulares. Assim, Tar é invocado primeiro para produzir um tarball, que é compactado pelo Gzip. Por outro lado, o Zip compacta cada arquivo antes de arquivá-los, resultando em um tamanho de arquivo ligeiramente maior. Essa abordagem de compactação complica a extração de arquivos individuais sem primeiro descompactar todo o tarball.

Criando e descompactando arquivos GZ e TGZ no Linux

Com os comandos Tar e Gzip/Gunzip, os administradores de sistema podem criar e descompactar facilmente arquivos GZ e TGZ. Semelhante aos seus homólogos do Linux, esses utilitários incluem uma variedade de sinalizadores que aprimoram sua funcionalidade e permitem o uso personalizado. Como Gzip/Gunzip e Tar são parte integrante da maioria das distribuições Linux, tudo o que é necessário é acesso SSH e conhecimento básico de linha de comando do Linux.

Utilizando Gzip e Gunzip para gerenciamento de arquivos .gz

Embora os comandos Gzip e Gunzip possam descompactar arquivos GZ no Linux, eles falham quando confrontados com arquivos Tar compactados. Por exemplo, um arquivo TAR.GZ, apesar de ser um arquivo TAR compactado com Gzip, exige o comando Tar para descompactação e extração de arquivo.

Compactando arquivos com Gzip

Gzip facilita a compactação de arquivos individuais, produzindo uma nova variante estendida do GZ, mantendo as permissões e propriedade do arquivo original. Por padrão, o arquivo original é descartado após a compactação. No entanto, esse comportamento é mutável.

Vamos explorar a compactação de três arquivos localizados no diretório atual usando Gzip:

# Compress multiple files with GZIP
gzip -kv example1 example2 example3

Aqui, o sinalizador -k garante que os arquivos originais permaneçam intactos, enquanto a opção -v fornece uma porcentagem de compactação em tempo real e exibição do nome do arquivo. O comando produz três novos arquivos GZ no diretório. Em cenários onde o sinalizador -k não é aplicável, a opção -c pode ser invocada para preservar o arquivo original.

O sinalizador -c também pode ser aproveitado para modificar o diretório do arquivo recém-compactado ou até mesmo renomeá-lo:

# Compress a file without deletion and relocate it to a different directory
gzip -c example1 > /home/temp/compressed_example1.gz

Inspecionando arquivos GZ sem descompactação

O comando zcat no Linux oferece uma prévia do conteúdo de um arquivo compactado sem a necessidade de descompactação:

# Display the contents of a GZIP compressed file
zcat compressed_example1.gz

Descompactando arquivos GZ

Os arquivos GZ podem ser descompactados no Linux anexando o sinalizador -d ao comando Gzip/Gunzip. Todos os sinalizadores discutidos anteriormente permanecem aplicáveis. Por padrão, o arquivo GZ é descartado após a descompactação, a menos que o sinalizador -k seja invocado. Vamos descompactar os arquivos GZ que compactamos anteriormente no mesmo diretório:

# Decompress GZ file
gzip -dv compressed_example1.gz

Neste contexto, os seguintes comandos são sinônimos:

Usando o comando gunzip:

# Decompress GZ file
gunzip example.gz

Usando o comando gzip -d:

# Decompress GZ file
gzip -d example.gz

Usando Tar para gerenciamento de arquivos TGZ

O comando tar é fundamental para gerenciar arquivos TGZ no Linux. Os usuários podem descompactar um arquivo inteiro ou escolher arquivos ou diretórios específicos.

Crie um arquivo tar.gz

Antes de criar um arquivo Tar compactado com Gzip, identifique os arquivos a serem incluídos e decida sua estratégia de agrupamento. Você pode selecionar arquivos manualmente ou arquivar um diretório inteiro com seus subdiretórios. Ao contrário do Gzip, que opera em arquivos individuais, a criação de um arquivo Tar compactado com Gzip não exclui os arquivos originais.

# Construct a TGZ archive of a directory and relocate it to a different folder
tar -czvf archive.tar.gz directory_name -C /home/temp

Neste comando:

  • c inicia a criação do arquivo.
  • z aciona a compactação Gzip.
  • v ativa o modo detalhado, oferecendo uma saída detalhada de execução de comando.
  • f designa o nome do arquivo do novo arquivo.
  • C especifica um diretório de destino alternativo.

Inspecionando o conteúdo do arquivo

O sinalizador -t facilita o exame do conteúdo de um arquivo TGZ existente. Além disso, os usuários podem empregar pipes para localizar arquivos específicos, especialmente em arquivos extensos:

# Enumerate the contents of a TGZ archive
tar -tvf archive.tar.gz

Descompactando arquivos tar.gz

Os arquivos Tar compactados com Gzip podem ser descompactados usando o sinalizador -x (extrair) fornecido pelo comando tar. Por padrão, Tar extrai o conteúdo do arquivo TGZ e os envia para o diretório de trabalho atual. No entanto, os usuários podem especificar um diretório alternativo para extração:

# Decompress Tar Gz file and relocate uncompressed files to a different directory
tar -xzvf archive.tar.gz -C /home/temp

Freqüentemente, os usuários podem precisar extrair arquivos ou pastas específicos de um arquivo TGZ. O tar comando facilita isso:

# Validate the desired file's presence in the archive
tar -tvf archive.tar.gz | grep desired_file

Como o arquivo reside no diretório arquivado, a extração direta sem restaurar o diretório inteiro é um desafio. A opção strip-components contorna esse obstáculo, permitindo aos usuários extrair os arquivos ou diretórios desejados sem suas pastas pai. Os usuários devem especificar o caminho completo do arquivo ou diretório para extração:

# Extract a specific file from the Tar Gz archive
tar -xzvf archive.tar.gz path/to/desired_file --strip-components=2

Conclusão

Gerenciar arquivos GZ e TGZ é uma habilidade integral para usuários Linux. Esses formatos de arquivo são essenciais para compactação e arquivamento de dados em ecossistemas Linux. Ao dominar os comandos Gzip e Tar, os usuários podem gerenciar, compactar e descompactar seus dados com eficiência, garantindo armazenamento e transferência de dados ideais. Quer você seja um usuário experiente ou novato do Linux, compreender esses comandos e suas nuances pode agilizar significativamente suas tarefas e aprimorar sua experiência no Linux.

Joshua James
Me siga
Últimos posts por Joshua James (exibir todos)

Deixe um comentário