Manuais para a linha de comandos

Man » Manual do gzip online - documentação online detalhada para a página de manual do gzip

🌍
gzip, gunzip, zcat - comprimir ou expandir arquivos

SINOPSIS

gzip [ -acdfhklLnNrtvV19 ] [-S suffix] [ name ...  ]
gunzip [ -acfhklLnNrtvV ] [-S suffix] [ name ...  ]
zcat [ -fhLV ] [ name ...  ]

DESCRIÇÃO

O comando gzip reduz o tamanho dos arquivos especificados 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, horários de acesso e modificação. (A extensão padrão é z para MSDOS, OS/2 FAT, Windows NT FAT e Atari.) Se nenhum arquivo for especificado, ou se o nome do arquivo for "-", a entrada padrão será compactada para a saída padrão. O comando gzip tentará compactar apenas arquivos regulares. Em particular, ele ignorará links simbólicos.

Se o nome do arquivo compactado for muito longo para o seu sistema de arquivos, o gzip o truncará. O comando gzip tentará truncar apenas as partes do nome do arquivo que têm 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 dos arquivos forem limitados a 14 caracteres, 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 para o comprimento do nome do arquivo.

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

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

O gunzip recebe uma lista de arquivos na linha de comando e substitui cada arquivo cujo nome termina
com .gz, -gz, .z, -z ou _z (ignorando maiúsculas e minúsculas) e que começa com o número mágico
correto por um arquivo descompactado sem a extensão original. O gunzip também reconhece as
extensões especiais .tgz e .taz como abreviações 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.

O gunzip pode atualmente descompactar arquivos criados por gzip, zip, compress, compress -H ou
pack. A detecção do formato de entrada é automática. Ao usar os dois primeiros formatos, o
gunzip verifica um CRC de 32 bits. Para pack, o gunzip verifica o comprimento descompactado. O
formato padrão compress não foi projetado para permitir verificações de consistência. No entanto,
o gunzip às vezes consegue detectar um arquivo .Z incorreto. Se você receber um erro ao
descompactar um arquivo .Z, não presuma que o arquivo .Z esteja correto apenas porque o
comando uncompress padrão não reclama. Isso geralmente significa que o comando uncompress padrão
não verifica sua entrada e gera alegremente uma saída incorreta. O formato SCO compress -H
(método de compressão lzh) não inclui um CRC, mas também permite algumas verificações de
consistência.

Arquivos criados pelo zip podem ser descompactados pelo gzip somente se tiverem um único membro compactado com o método 'deflation'. Este recurso tem como objetivo auxiliar 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 o unzip em vez do gunzip.

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

O comando gzip usa o algoritmo Lempel-Ziv usado no zip e 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 em 60-70%. A compressão é geralmente muito melhor do que a obtida com LZW (como usado no compress), codificação de Huffman (como usado no pack) ou codificação de Huffman adaptável (compact).

A compressão é sempre realizada, mesmo que o arquivo compactado seja ligeiramente maior que o original. O pior caso de expansão é de alguns bytes para o cabeçalho do arquivo gzip, mais 5 bytes por bloco de 32 KiB, ou uma taxa de expansão de 0,015% para arquivos grandes. O número real de blocos de disco usados quase nunca aumenta.

O gzip normalmente preserva o modo e o carimbo de data/hora de modificação de um arquivo ao comprimir ou descomprimir. Se você tiver os privilégios apropriados, ele também preserva o proprietário e o grupo do arquivo.

OPÇÕES

-a --ascii
Modo de texto ASCII: converte os fins de linha usando as convenções locais. Esta opção é suportada apenas em alguns sistemas não Unix. Para MSDOS, CR LF é convertido em LF ao comprimir, e LF é convertido em CR LF ao descomprimir.

-c --stdout --to-stdout
Escreve a saída na saída padrão; mantém os arquivos originais inalterados. Se houver vários arquivos de entrada, a saída consiste em uma sequência de membros comprimidos independentemente. Para obter melhor compressão, concatene todos os arquivos de entrada antes de comprimi-los.

-d --decompress --uncompress
Descompactar.

-f --force
Força a compressão ou descompressão mesmo que o arquivo tenha vários links ou o arquivo correspondente já exista, 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 alterações para a saída padrão: deixe o zcat se comportar como cat. Se -f não for fornecido e quando não estiver em execução em segundo plano, o gzip solicita que você verifique se um arquivo existente deve ser sobrescrito.

-h --help

Exibe uma tela de ajuda e sai.

-k --keep

Mantém (não exclui) os arquivos de entrada durante a compressão ou descompressão.

-l --list

Para cada arquivo comprimido, lista os seguintes campos:

tamanho comprimido: tamanho do arquivo comprimido
tamanho descomprimido: tamanho do arquivo descomprimido
taxa: taxa de compressão (0,0% se desconhecida)
nome_descomprimido: nome do arquivo descomprimido

O tamanho descomprimido é fornecido como -1 para arquivos que não estão no formato gzip, como arquivos comprimidos .Z. Para obter o tamanho descomprimido de um arquivo como este, você pode usar:

zcat file.Z | wc -c

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

método: método de compressão
crc: o CRC de 32 bits dos dados descomprimidos
data e hora: carimbo de data/hora para o arquivo descomprimido

Os métodos de compressã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 descomprimido, a data e a hora são aqueles armazenados dentro do arquivo comprimido, se presentes.

Com --verbose, os totais de tamanho e a taxa de compressão para todos os arquivos também são exibidos, a menos que alguns tamanhos sejam desconhecidos. Com --quiet, a linha de título e as linhas de totais não são exibidas.

-L --license

Exibe a licença do gzip e sai.

-n --no-name

Ao comprimir, não salve o nome original do arquivo e o carimbo de data/hora por padrão. (O nome original é sempre salvo se o nome precisou ser truncado). Ao descomprimir, não restaure o nome original do arquivo se presente (remova apenas o sufixo gzip do nome do arquivo comprimido) e não restaure o carimbo de data/hora original se presente (copie-o do arquivo comprimido). Esta opção é o padrão ao descomprimir.

-N --name

Ao comprimir, sempre salve o nome original do arquivo e salve a parte dos segundos do carimbo de data/hora original, se o original for um arquivo regular e seu carimbo de data/hora for pelo menos 1 (1970-01-01 00:00:01 UTC) e for menor que 2**32 (2106-02-07 06:28:16 UTC, assumindo que os segundos bissextos não são contados); esta é a configuração padrão. Ao descomprimir, restaure a partir do nome do arquivo e do carimbo de data/hora salvos, se presentes. Esta opção é útil em sistemas que têm um limite no comprimento do nome do arquivo ou quando o carimbo de data/hora foi perdido após uma transferência de arquivo.

-q --quiet

Suprime todos os avisos.

-r --recursive

Percorre a estrutura de diretórios recursivamente. Se algum dos nomes de arquivo especificados na linha de comando for um diretório, o gzip entrará no diretório e comprimirá todos os arquivos que encontrar lá (ou os descomprimirá, no caso do gunzip).


-S .suf --suffix .suf

Ao comprimir, 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 ao transferir arquivos para outros sistemas.

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

--synchronous

Use saída síncrona. Com esta opção, gzip tem menos probabilidade de perder dados durante uma falha do sistema, mas pode ser consideravelmente mais lento.

-t --test

Teste. Verifique a integridade do arquivo compactado e, em seguida, saia.

-v --verbose

Verboso. Exiba o nome e a porcentagem de redução para cada arquivo compactado ou descompactado.

-V --version

Versão. Exiba o número da versão e as opções de compilação e, em seguida, saia.

-# --fast --best

Regule a velocidade da compressão usando o dígito # especificado, onde -1 ou --fast indica o método de compressão mais rápido (menos compressão) e -9 ou --best indica o método de compressão mais lento (melhor compressão). O nível de compressão padrão é -6 (ou seja, com tendência a alta compressão à custa da velocidade).

--rsyncable

Quando você sincroniza um arquivo compactado entre dois computadores, esta opção permite que o rsync transfira apenas os arquivos que foram alterados no arquivo, em vez de todo o arquivo. Normalmente, depois que uma alteração é feita em qualquer arquivo no arquivo, o algoritmo de compressão pode gerar uma nova versão do arquivo que não corresponde à versão anterior do arquivo. Neste caso, o rsync transfere toda a nova versão do arquivo para o computador remoto. Com esta opção, o rsync pode transferir apenas os arquivos alterados, bem como uma pequena quantidade de metadados que são necessários para atualizar a estrutura do arquivo na área que foi alterada.

USO AVANÇADO

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

gzip -c file1  > foo.gz
gzip -c file2 >> foo.gz

Então

gunzip -c foo

é equivalente a

cat file1 file2

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

cat file1 file2 | gzip > foo.gz

compacta melhor do que

gzip -c file1 file2 > foo.gz

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

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

Se um arquivo compactado consiste em vários membros, o tamanho descomprimido e o CRC relatados pela opção --list se aplicam apenas ao último membro. Se você precisar do tamanho descomprimido de todos os membros, você pode usar:

gzip -cd file.gz | wc -c

Se você deseja criar um único arquivo de arquivo com vários membros para que os membros possam ser extraídos independentemente posteriormente, use um arquivador como tar ou zip. O GNU tar oferece suporte à opção -z para invocar o gzip de forma transparente. O gzip é projetado como um complemento para o tar, não como um substituto.


AMBIENTE

A variável de ambiente obsoleta GZIP pode conter um conjunto de opções padrão para gzip. Essas opções são interpretadas primeiro e podem ser substituídas por parâmetros de linha de comando explícitos. Como isso pode causar problemas ao usar scripts, esse recurso é suportado apenas para opções que provavelmente não causarão muitos problemas, e o gzip avisa se for usado. Esse recurso será removido em uma versão futura do gzip.

Você pode usar um alias ou script em vez disso. Por exemplo, se o gzip estiver no diretório /usr/bin, você pode adicionar $HOME/bin ao seu PATH e criar um script executável $HOME/bin/gzip contendo o seguinte:

#! /bin/sh
export PATH=/usr/bin
exec gzip -9 "$@"

VEJA TAMBÉM

znew(1), zcmp(1), zmore(1), zforce(1), gzexe(1), zip(1), unzip(1), compress(1)

O formato de arquivo gzip é especificado em P. Deutsch, GZIP file format specification version 4.3, [https://www.ietf.org/rfc/rfc1952.txt], Internet RFC 1952 (maio de 1996). O formato de deflação zip é especificado em P. Deutsch, DEFLATE Compressed Data Format Specification version 1.3, [https://www.ietf.org/rfc/rfc1951.txt], Internet RFC 1951 (maio de 1996).

DIAGNÓSTICOS

O status de saída é normalmente 0; se ocorrer um erro, o status de saída é 1. Se ocorrer um aviso, o status de saída é 2.

Usage: gzip [-cdfhklLnNrtvV19] [-S suffix] [file ...]
Invalid options were specified on the command line.
file: not in gzip format
The file specified to gunzip has not been compressed.
file: Corrupt input.
Use zcat to recover some data. The compressed file has been damaged. The data up to the point of failure can be recovered using
zcat file > recover
file: compressed with xx bits, can only handle yy bits
File was compressed (using LZW) by a program that could deal with more bits than the decompress code on this machine. Recompress the file with gzip, which compresses better and uses less memory.
file: already has .gz suffix -- unchanged
The file is assumed to be already compressed. Rename the file and try again.
file already exists; do you wish to overwrite (y or n)?
Respond "y" if you want the output file to be replaced; "n" if not.
gunzip: corrupt input
A SIGSEGV violation was detected which usually means that the input file has been corrupted.
xx.x% Percentage of the input saved by compression.
(Relevant only for -v and -l.)
-- not a regular file or directory: ignored
When the input file is not a regular file or directory, (e.g., a symbolic link, socket, FIFO, device file), it is left unaltered.
-- has xx other links: unchanged
The input file has links; it is left unchanged. See [ln]({filename}../../ln)(1) for more information. Use the -f flag to force compression of multiply-linked files.

RESSALVAS

Ao gravar dados compactados em uma fita, geralmente é necessário preencher a saída com zeros até um limite de bloco. Quando os dados são lidos e todo o bloco é passado para o gunzip para descompactação, o gunzip detecta que há dados extras no final dos dados compactados e emite um aviso por padrão. Você pode usar a opção --quiet para suprimir o aviso.


ERROS

Em alguns casos raros, a opção --best resulta em uma compressão pior do que o nível de compressão padrão (-6). Em alguns arquivos altamente redundantes, compress comprime melhor do que gzip.

RELATANDO ERROS

Relate os erros para: _ Página inicial do GNU gzip: [https://www.gnu.org/software/gzip/] Ajuda geral para usar o software GNU: [https://www.gnu.org/gethelp/]

AVISO DE DIREITOS AUTORAIS

Copyright © 1998–1999, 2001–2002, 2012, 2015–2023 Free Software Foundation, Inc. Copyright © 1992, 1993 Jean-loup Gailly

É concedida permissão para fazer e distribuir cópias literais deste manual, desde que o aviso de direitos autorais e este aviso de permissão sejam preservados em todas as cópias.

É concedida permissão para copiar e distribuir versões modificadas deste manual sob as condições de cópia literal, desde que todo o trabalho derivado resultante seja distribuído sob os termos de um aviso de permissão idêntico a este.

É concedida permissão para copiar e distribuir traduções deste manual para outro idioma, sob as condições acima para versões modificadas, exceto que este aviso de permissão pode ser declarado em uma tradução aprovada pela Fundação.