Zcat - Comando Linux - Comando Unix

Nome

gzip, gunzip, zcat - comprimir ou expandir ficheiros

Sinopse

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

Descrición

Gzip reduce o tamaño dos ficheiros nomeados usando a codificación Lempel-Ziv (LZ77). Sempre que sexa posible, cada ficheiro substitúese por un coa extensión .gz , mantendo os mesmos modos de propiedade, acceso e modificación. (A extensión predeterminada é -gz para VMS, z para MSDOS, OS / 2 FAT, Windows NT FAT e Atari). Se non se especifican ficheiros, ou se un nome de ficheiro é "-", a entrada estándar compárase ao estándar saída. Gzip só tentará comprimir ficheiros regulares. En particular, ignorará as ligazóns simbólicas.

Se o nome de ficheiro comprimido é demasiado longo para o seu sistema de ficheiros, o gzip truncao. Gzip intenta truncar só as partes do nome do ficheiro por máis de 3 caracteres. (A parte está delimitada por puntos.) Se o nome consta só de partes pequenas, as partes máis longas truncanse. Por exemplo, se os nomes dos ficheiros están limitados a 14 caracteres, gzip.msdos.exe está comprimido para gzi.msd.exe.gz. Os nomes non se truncarán nos sistemas que non teñan un límite na lonxitude do nome do ficheiro.

Por defecto, gzip mantén o nome do ficheiro orixinal e a marca de tempo no ficheiro comprimido. Estes úsanse ao descomprimir o ficheiro coa opción -N . Isto é útil cando o nome de ficheiro comprimido foi truncado ou cando o selo de tempo non se conservou tras unha transferencia de ficheiros.

Os ficheiros comprimidos pódense restaurar na súa forma orixinal usando gzip -d ou gunzip ou zcat. Se o nome orixinal gardado no ficheiro comprimido non é axeitado para o seu sistema de ficheiros, un novo nome constrúese desde o orixinal para facelo legal.

gunzip leva unha lista de ficheiros na súa liña de comandos e substitúe a cada ficheiro cuxo nome termina con .gz, -gz, .z, -z, _z ou .Z e que comeza co número máxico correcto cun ficheiro non comprimido sen a extensión orixinal . gunzip tamén recoñece as extensións especiais .tgz e .taz como shorthands para .tar.gz e .tar.Z respectivamente. Ao comprimir, o gzip usa a extensión .tgz se é necesario en vez de truncar un ficheiro cunha extensión .tar .

Gunzip pode descomprimir arquivos creados por gzip, zip, comprimir, comprimir -H ou paquete. A detección do formato de entrada é automática. Ao usar os dous primeiros formatos, gunzip verifica un CRC de 32 bits. Para o paquete, gunzip verifica a lonxitude non comprimida. O formato estándar de compresión non foi deseñado para permitir cheques de consistencia. Non obstante, gunzip ás veces é capaz de detectar un ficheiro .Z malo. Se recibe un erro ao descomprimir un ficheiro .Z , non supoña que o ficheiro .Z sexa correcto simplemente porque o descomprimido estándar non se queixa. Isto xeralmente significa que o descomprimir estándar non comproba a súa entrada e, felizmente, xera saída de lixo. A compresión SCO -H formato (método de compresión lzh) non inclúe un CRC, pero tamén permite algunhas comprobacións de consistencia.

Os ficheiros creados por zip só poden ser comprimidos por gzip se teñen un único comprimido co método "deflación". Esta función só ten como obxectivo axudar a conversión de tar.zip ao formato tar.gz. Para extraer arquivos zip con varios membros, use unzip en vez de gunzip.

O zcat é idéntico ao gunzip -c. (Nalgúns sistemas, o zcat pode ser instalado como gzcat para preservar a ligazón orixinal para comprimir). Zcat non comprime unha lista de ficheiros na liña de comandos ou a súa entrada estándar e escribe os datos non comprimidos na saída estándar. zcat descomprimirá ficheiros que teñen o número máxico correcto se eles teñen un sufijo .gz ou non.

Gzip usa o algoritmo Lempel-Ziv usado en zip e PKZIP. A cantidade de compresión obtida depende do tamaño da entrada e da distribución das subcadenas comúns. Normalmente, o texto como o código fonte ou o inglés redúcese nun 60-70%. A compresión xeralmente é moito mellor que a obtida por LZW (como se usa en comprimir ), a codificación Huffman (como se usa no paquete ) ou a codificación adaptativa Huffman ( compacto ).

A compresión sempre se realiza, aínda que o ficheiro comprimido sexa un pouco maior que o orixinal. A peor expansión do caso é uns poucos bytes para o cabeceiro do ficheiro gzip, máis 5 bytes en cada bloque de 32K ou unha taxa de expansión de 0.015% para ficheiros grandes. Teña en conta que a cantidade real de bloques de disco usados ​​case nunca aumenta. gzip preserva o modo, a propiedade e as marcas de tempo de ficheiros ao comprimir ou descomprimir.

OPCIÓNS

-a --ascii

Modo de texto Ascii: converte o final das liñas usando convencións locais. Esta opción só é compatible con algúns sistemas non Unix. Para MS-DOOS, CR LF convértese en LF ao comprimir, e LF convértese en CR LF ao descomprimir.

-c --stdout --to-stdout

Escribe a saída na saída estándar; mantén os ficheiros orixinais inalterados. Se hai varios ficheiros de entrada, a saída consiste nunha secuencia de membros comprimidos de forma independente. Para obter unha mellor compresión, concéntase todos os ficheiros de entrada antes de comprimilos.

-d --decompress --uncompress

Descomprimir.

-f --force

Comprimir ou descomprimir forzas aínda que o ficheiro teña varias ligazóns ou o arquivo correspondente xa existe ou se os datos comprimidos son leídos ou escritos nun terminal. Se os datos de entrada non están nun formato recoñecido polo gzip, e se a opción --stdout tamén se dá, cómpre os datos de entrada sen modificar o fallo estándar: deixe que o zcat se comporte como gato. Se -f non se fornece, e cando non se executa en segundo plano, gzip solicita que se verifique se un ficheiro existente debería sobrescribirse.

-h --help

Mostrar unha pantalla de axuda e saír.

-l --list

Para cada ficheiro comprimido, indique os seguintes campos:


tamaño comprimido: tamaño do ficheiro comprimido
tamaño non comprimido: tamaño do ficheiro non comprimido
ratio: razón de compresión (0,0% se non se coñece)
sen comprimir_name: nome do ficheiro non comprimido

O tamaño non comprimido se dá como -1 para ficheiros que non están en formato gzip, como ficheiros comprimidos .Z. Para obter o tamaño non comprimido para tal ficheiro, pode usar:


ficheiro zcat.Z | wc -c

En combinación coa opción --verbose, tamén se amosan os seguintes campos:


método: método de compresión
crc: o CRC de 32 bits dos datos non comprimidos
data e hora: selo de tempo para o ficheiro non comprimido

Os métodos de compresión actualmente soportados son o deflate, a compresión, o lzh (SCO compress-H) eo paquete. O crc é dado como ffffffff para un ficheiro non en formato gzip.

Con --name, o nome, data e hora non comprimidos son os almacenados no ficheiro de compresión se están presentes.

Con --verbose tamén se amosan os totais de tamaño e compresión de todos os ficheiros, a menos que se descoñan algúns tamaños. Con --quiet, non se amosan as liñas de título e total.

-L - Licenza

Mostrar a licenza gzip e saír.

-n --no-nome

Ao comprimir, non garda o nome do ficheiro orixinal e o selo de tempo por defecto. (O nome orixinal sempre se almacena se o nome tiña que ser truncado). Cando se descomprime, non restaure o nome do ficheiro orixinal se está presente (elimine só o sufijo gzip do nome de ficheiro comprimido) e non restaure o selo de tempo orixinal se está presente (copia-lo desde o arquivo comprimido). Esta opción é o predeterminado ao descomprimir.

-N - nome

Ao comprimir, garde sempre o nome do ficheiro orixinal e o selo de tempo; este é o predeterminado. Ao descomprimir, restableza o nome do ficheiro orixinal e o selo de tempo se está presente. Esta opción é útil en sistemas que teñen un límite na lonxitude do nome do ficheiro ou cando se perde o tempo perdido despois dunha transferencia de ficheiros.

-q --quiet

Eliminar todas as advertencias.

-r - recursivo

Viaxa a estrutura do directorio recursivamente. Se algún dos nomes de ficheiros especificados na liña de comandos son directorios, o gzip baixará ao directorio e comprimirá todos os ficheiros que atopará alí (ou descomprimilos no caso de gunzip ).

-S .suf --suffix .suf

Usa o sufijo .suf en lugar de .gz. Pódese dar calquera sufixo, pero deben evitarse outros sufixos distintos de .z e .gz para evitar confusión cando se transfiren ficheiros a outros sistemas. Un sufijo nulo forzar ao gunzip a tentar descompresión en todos os ficheiros dados independentemente do sufixo, como en:


gunzip -S "" * (*. * para MS-DOS)

As versións anteriores de gzip usaron o sufijo .z. Isto cambiou para evitar un conflito co paquete (1).

-t - proba

Proba. Comprobe a integridade do ficheiro comprimido.

-v - verbose

Verbose. Mostrar o nome e redución de porcentaxes para cada ficheiro comprimido ou descomprimido.

-V --versión

Versión. Mostrar o número de versión e as opcións de compilación e saír.

- # --fast --best

Regular a velocidade da compresión usando o díxito especificado # , onde -1 ou --fast indica o método de compresión máis rápido (menos compresión) e -9 ou --best indica o método de compresión máis lento (mellor compresión). O nivel de compresión predeterminado é -6 (é dicir, prexudicado cara á alta compresión a expensas da velocidade).

Uso avanzado

Múltiples arquivos comprimidos pódense concatenar. Neste caso, gunzip extraerá todos os membros á vez. Por exemplo:


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

Entón


gunzip -c foo

é equivalente a


cat ficheiro1 ficheiro2

En caso de danos a un membro dun ficheiro .gz, outros membros aínda poden ser recuperados (se o membro danado é eliminado). Non obstante, pode obter unha mellor compresión ao comprimir todos os membros á vez:


cat file1 file2 | gzip> foo.gz

Comprime mellor que


gzip -c file1 file2> foo.gz

Se desexa recomprimir arquivos concatenados para obter unha mellor compresión, faga:


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

Se un ficheiro comprimido está formado por varios membros, o tamaño non comprimido e CRC informado pola opción --list só se aplica ao último membro. Se precisa o tamaño non comprimido para todos os membros, pode usar:


gzip -cd file.gz | wc -c

Se desexa crear un único arquivo con varios membros para que os membros poidan ser extraídos de forma independente, use un arquivo como tar ou zip. O tarxeta de GNU admite a opción -z para invitar gzip de forma transparente. O gzip está deseñado como complemento ao tar , non como un reemplazo.

VER TAMÉN

comprimir (1)

O formato de ficheiro gzip está especificado en P. Deutsch, a especificación de formato de ficheiro GZIP versión 4.3, , Internet RFC 1952 (maio de 1996). O formato de deflación de zip está especificado en P. Deutsch, a versión 1.3 de Especificación do formato comprimido DEFLATE, , Internet RFC 1951 (maio de 1996).

Importante: use o comando man ( % home ) para ver como se usa un comando na súa computadora particular.