fbpx

Comandos Linux – Comando gunzip

Comandos Linux gzip, gunzip e zcat

Atualizado: 05/04/2019 por Computer Hope

comando gzip

Nos sistemas operacionais do tipo Unix, os comandos gzip , gunzip e zcat são usados ​​para compactar ou expandir arquivos no formato GNU GZIP .

Descrição

O gzip reduz o tamanho dos arquivos nomeados usando a codificação Lempel – Ziv (LZ77). Sempre que possível, cada arquivo é substituído por um com a extensão .gz , mantendo os mesmos modos de propriedade , tempos de acesso e modificação. (A extensão padrão é -gz para VMS , z para MSDOS , OS / 2 FAT , Windows NT FAT e Atari .) Se nenhum arquivo for especificado ou se o nome de um arquivo for ”  “, a entrada padrão será compactada para o padrão resultado. O gzip tentará apenas compactar arquivos regulares. Em particular, ele ignora links simbólicos .

Se o nome do arquivo compactado for muito longo para o sistema de arquivos , o gzip o truncará. O gzip tenta truncar apenas as partes do nome do arquivo com mais de 3 caracteres . (Uma parte é delimitada por pontos.) Se o nome consistir apenas em partes pequenas, as partes mais longas serão truncadas. Por exemplo, se os nomes de arquivo estiverem limitados a 14 caracteres, o gzip.msdos.exe será compactado para gzi.msd.exe.gz. Os nomes não são truncados em sistemas que não têm um limite no tamanho do nome do arquivo.

Por padrão, o gzip mantém o nome do arquivo original e o carimbo de data e hora no arquivo compactado. Eles são usados ​​ao descompactar o arquivo com a opção -N . Essa configuração é útil quando o nome do arquivo compactado foi truncado ou quando o carimbo de data e hora não foi preservado após a transferência do arquivo .

Os arquivos compactados podem ser restaurados para sua forma original usando gzip -d ou gunzip ou zcat . Se o nome original salvo no arquivo compactado não for adequado para seu sistema de arquivos, um novo nome será construído a partir do original para torná-lo legal.

gunzip pega uma lista de arquivos em sua linha de comando e substitui cada arquivo cujo nome termina com .gz , -gz , .z , -z ou _z (caso de ignorância) e que começa com o número mágico correto com um arquivo descompactado sem a opção extensão original. O gunzip também reconhece as extensões especiais .tgz e .taz como atalhos para .tar.gz e .tar.Z, respectivamente. Ao compactar, o gzip usa a extensão .tgz, se necessário, em vez de truncar um arquivo com uma extensão .tar .

Atualmente, o gunzip pode descomprimir arquivos criados por gzip , zip , compactar , compactar -H ou pacote . A detecção do formato de entrada é automática. Ao usar os dois primeiros formatos, o gunzip verifica um CRC de 32 bits. No pacote , o gunzip verifica o comprimento não compactado. O formato de compactação padrão não foi projetado para permitir verificações de consistência. No entanto, o gunzip às vezes é capaz de detectar um arquivo .Z ruim. Se você receber um erro ao descompactar um arquivo .Z , não presuma que o arquivo .Z esteja correto porque a descompactação padrão não se queixa. Isso geralmente significa que a descompactação padrão não verifica sua entrada e gera felizmente a saída de lixo. O formato SCH compress -H (método de compressão lzh) não inclui um CRC, mas também permite algumas verificações de consistência.

Os arquivos criados por zip podem ser descompactados pelo gzip apenas se eles tiverem um único membro compactado com o método ‘deflation’. Este recurso destina-se apenas a ajudar na conversão de arquivos tar.zip para o formato tar.gz. Para extrair um arquivo zip com um único membro, use um comando como:

  gunzip <foo.zip

ou:

  gunzip -S .zip foo.zip

Para extrair arquivos zip com vários membros, use descompactar em vez de gunzip .

O zcat é idêntico ao gunzip -c . (Em alguns sistemas, o zcat pode ser instalado como gzcat para preservar o link original para compactar .) O zcat descompacta uma lista de arquivos na linha de comandos ou em sua entrada padrão e grava os dados não compactados na saída padrão. O zcat descompactará arquivos com o número mágico correto, independentemente de terem ou não um sufixo .gz .

O gzip usa o algoritmo Lempel-Ziv usado no zip e no PKZIP . A quantidade de compressão obtida depende do tamanho da entrada e da distribuição de substrings comuns. Normalmente, textos como código fonte ou inglês são reduzidos de 60 a 70%. A compactação geralmente é muito melhor do que a alcançada pelo LZW (como usado na compressa ), pela codificação Huffman (como usada na embalagem ) ou pela codificação adaptativa Huffman ( compacta ).

A compactação é sempre realizada, mesmo se o arquivo compactado for um pouco maior que o original. O pior caso de expansão é de alguns bytes para o cabeçalho do arquivo gzip , mais 5 bytes a cada bloco de 32 K ou uma taxa de expansão de 0,015% para arquivos grandes. Observe que o número real de blocos de disco usados ​​quase nunca aumenta. O gzip preserva o modo, a propriedade e os carimbos de data e hora dos arquivos ao compactar ou descompactar.

Sintaxe

  gzip [-acdfhlLnNrtvV19] [ sufixo -S] [ nome ...]
  gunzip [-acfhlLnNrtvV] [-S sufixo ] [ nome ...]
  zcat [-fhLV] [ nome ...]

Opções

-a , –asciiModo de texto ASCII : converta o final de linhas usando convenções locais. Esta opção é suportada apenas em alguns sistemas não Unix. Para MSDOS, o CR LF é convertido em LF ao compactar, e LF é convertido em CR LF ao descompactar.
-c , –stdout , –to-stdoutEscreva a saída na saída padrão; mantenha os arquivos originais inalterados. Se houver vários arquivos de entrada, a saída consistirá em uma sequência de membros compactados independentemente. Para obter uma melhor compactação, concatene todos os arquivos de entrada antes de compactá-los.
-d , –dcompress , –uncompressDescomprimir.
-f , –forceForça a compactação ou descompactação, mesmo se o arquivo tiver vários links ou o arquivo correspondente já existir, ou se os dados compactados forem lidos ou gravados em um terminal. Se os dados de entrada não estiverem em um formato reconhecido pelo gzip , e se a opção –stdout também for fornecida, copie os dados de entrada sem alterar a saída padrão: deixe o zcat se comportar como gato . Se -f não for fornecido, e quando não estiver em execução em segundo plano, o gzip solicitará que verifique se um arquivo existente deve ser substituído .
-h , –helpExiba uma tela de ajuda e saia.
-l , –listPara cada arquivo compactado, liste os seguintes campos:

tamanho comprimidotamanho do arquivo compactado
tamanho descomprimidotamanho do arquivo descompactado
proporçãotaxa de compressão (0,0% se desconhecido)
uncompressed_namenome do arquivo descompactado

O tamanho não compactado é fornecido como -1 para arquivos que não estão no formato gzip , como arquivos .Z compactados. Para obter o tamanho descompactado para esse arquivo, você pode usar:

  arquivo zcat.Z |  wc -c

Em combinação com a opção –verbose , os seguintes campos também são exibidos:

métodométodo de compressão
crco CRC de 32 bits dos dados não compactados
data horacarimbo de data / hora para o arquivo descompactado

Os métodos de compactação atualmente suportados são deflate , compress , lzh (SCO compress -H ) e pack . O crc é fornecido como ffffffff para um arquivo que não está no formato gzip .

Com –name , o nome descompactado, a data e a hora são aqueles armazenados no arquivo compactado, se presente.

Com –verbose , o total de tamanhos e a taxa de compactação de todos os arquivos também são exibidos, a menos que alguns tamanhos sejam desconhecidos. Com –quiet , o título e as linhas de totais não são exibidos.

-L , –licenseExiba a licença gzip e saia.
-n , –no-nameAo compactar, não salve o nome do arquivo original e o carimbo de data e hora por padrão. (O nome original é sempre salvo se o nome tiver que ser truncado.) Ao descompactar, não restaure o nome do arquivo original se presente (remova apenas o sufixo gzip do nome do arquivo compactado) e não restaure o carimbo de data / hora original, se presente (copie-o do arquivo compactado). Esta opção é o padrão ao descompactar.
-N , –nameAo compactar, sempre salve o nome do arquivo original e a data e hora; esse é o padrão. Ao descompactar, restaure o nome do arquivo original e o carimbo de hora, se houver. Essa opção é útil em sistemas que têm um limite no tamanho do nome do arquivo ou quando o registro de data e hora foi perdido após a transferência do arquivo.
-q , –quietSuprima todos os avisos.
-r , –recursiveViaje pela estrutura de diretórios recursivamente . Se qualquer um dos nomes de arquivo especificados na linha de comando forem diretórios, o gzip descerá para o diretório e compactará todos os arquivos que encontrar lá (ou descompactá-los no caso do gunzip ).
-S. suf , –sufixo. sufAo compactar, use o sufixo . suf em vez de .gz . Qualquer sufixo não vazio pode ser fornecido, mas sufixos diferentes de .z e .gz devem ser evitados para evitar confusão quando os arquivos são transferidos para outros sistemas.

Ao descompactar, adicione . suf no início da lista de sufixos a tentar, ao derivar um nome de arquivo de saída de um nome de arquivo de entrada.

-t , –testTeste. Verifique a integridade do arquivo compactado.
-v , –verboseVerbose . Exibe o nome e a porcentagem de redução para cada arquivo compactado ou descompactado.
-V , –versionVersão. Exiba o número da versão e as opções de compilação e saia.
 # , – rápido , – melhorRegule a velocidade da compactação usando o dígito especificado # , onde -1 ou –fast indica o método de compactação mais rápido (menos compactação) e -9 ou –best indica o método de compactação mais lento (melhor compactação). O nível de compactação padrão é -6 (ou seja, inclinado para alta compactação em detrimento da velocidade).

Uso Avançado

Vários arquivos compactados podem ser concatenados. Nesse caso, o gunzip extrairá todos os membros de uma só vez. Por exemplo:

  gzip -c arquivo1> foo.gz
  gzip -c arquivo2 >> foo.gz

Então:

  gunzip -c foo

é equivalente a:

  cat file1 file2

Em caso de danos a um membro de um arquivo .gz , outros membros ainda poderão ser recuperados (se o membro danificado for removido). No entanto, você pode obter uma melhor compactação compactando todos os membros de uma vez:

  gato arquivo1 arquivo2 |  gzip> foo.gz

comprime melhor que:

  gzip -c arquivo1 arquivo2> foo.gz

Se você deseja recompactar arquivos concatenados para obter uma melhor compactação, faça:

  gzip -cd old.gz |  gzip> new.gz

Se um arquivo compactado consistir em vários membros, o tamanho descompactado e o CRC relatado pela opção –list se aplicarão apenas ao último membro. Se você precisar do tamanho descompactado para todos os membros, poderá usar:

  gzip -cd file.gz |  wc -c

Se você deseja criar um único arquivo morto com vários membros para que os membros possam ser extraídos posteriormente independentemente, use um arquivador como tar ou zip . O GNU tar suporta a opção -z para chamar o gzip de forma transparente. O gzip foi desenvolvido como um complemento ao tar , não como um substituto.

Meio Ambiente

A variável de ambiente GZIP pode conter um conjunto de opções padrão para o gzip . Essas opções são interpretadas primeiro e podem ser substituídas por parâmetros explícitos da linha de comando. Por exemplo:

para sh :

  GZIP = "- 8v --name";  exportar GZIP

para csh :

  setenv GZIP "-8v --name"

para MSDOS :

  defina GZIP = -8v --name

No Vax / VMS, o nome da variável de ambiente é GZIP_OPT , para evitar um conflito com o conjunto de símbolos para a chamada do programa.

Exemplos

  zcat myfiles.tar.gz |  Mais

Imprime o conteúdo de todos os arquivos no arquivo tar compactado com gzip myfiles.tar.gz , canalizando a saída para o comando more , que pagina a saída (pausa no final de cada página).

  gzip backup.tar

Compacta o arquivo tar. backup.tar e o renomeia como backup.tar.gz .

  gunzip backup.tar.gz

Descompacta o arquivo compactado como backup.tar.gz , renomeando-o para backup.tar .

  gzip -r backupfolder

Compacta recursivamente todos os arquivos na pasta de backup da pasta e todos os arquivos em qualquer subdiretório dessa pasta e fornece a extensão .gz .

  gunzip -r backupfolder

Descomprime recursivamente todos os arquivos compactados com gzip na pasta backup backup e remove a extensão .gz dos nomes dos arquivos.

  gzip -c meuarquivo.txt> meuarquivo.txt.gz

Compacta o arquivo myfile.txt , gravando os dados do arquivo compactado na saída padrão, que neste caso é redirecionada para um arquivo, myfile.txt.gz . O resultado é que o arquivo original e o arquivo compactado com gz existirão depois que o comando for executado.

  zcat myfile.txt.gz

Imprime o conteúdo não compactado do arquivo compactado myfile.txt.gz . A saída é idêntica à impressão do conteúdo do arquivo descompactado com o comando cat myfile.txt .

  gunzip -c meuarquivo.txt.gz> meuarquivo.txt

Descompacta o arquivo compactado como arquivo myfile.txt.gz para a saída padrão, que neste caso é redirecionada para o arquivo myfile.txt . Se o myfile.txt já existir, o shell solicitará que você o substitua (ou não).

GorjetaConsulte o uso avançado acima para obter exemplos adicionais.

cat – gera o conteúdo de um arquivo.
compactar – Comprime um arquivo ou arquivos.
tar – Crie, modifique, liste o conteúdo e extraia arquivos de arquivos tar.
descompactar – Extrai arquivos de arquivos compactados.
descompacte – liste , teste e extraia arquivos compactados em um arquivo zip.
zip – Um utilitário de compactação e arquivamento.

19 de novembro de 2019

Sobre nós

A Linux Force Brasil é uma empresa que ama a arte de ensinar. Nossa missão é criar talentos para a área de tecnologia e atender com excelência nossos clientes.

CNPJ: 13.299.207/0001-50
SAC:         0800 721 7901

[email protected]

Comercial  Comercial: (11) 3796-5900

Suporte:    (11) 3796-5900
[email protected]

Copyright © Linux Force Security  - Desde 2011.