Gzip reduce el tamaño de los archivos nombrados utilizando la codificación Lempel-Ziv (LZ77). Siempre que sea posible, cada archivo es reemplazado por uno con la extensión .gz, manteniendo los mismos modos de propiedad, tiempos de acceso y modificación. (La extensión predeterminada es -gz para VMS, z para MSDOS, OS/2 FAT, Windows NT FAT y Atari.) Si no se especifican archivos, o si un nombre de archivo es «-«, la entrada estándar se comprime a la salida estándar. Gzip sólo intentará comprimir archivos regulares. En particular, ignorará los vínculos simbólicos.
Índice de contenidos
Nombre
- gzip, gunzip, zcat – comprime o expande archivos
Sinopsis
- gzip [ -acdfhlLnNrtvV19 ] [ -S sufijo ] [ nombre … ]
- gunzip [ -acfhlLnNrtvV ] [ -S sufijo ] [ nombre …. ]
- zcat [ -fhLV ] [ nombre … ]
Si el nombre del archivo comprimido es demasiado largo para su sistema de archivos, gzip lo trunca. Gzip intenta truncar sólo las partes del nombre del archivo de más de 3 caracteres. (Una parte está delimitada por puntos.) Si el nombre consiste sólo en partes pequeñas, las partes más largas se truncan. Por ejemplo, si los nombres de archivo están limitados a 14 caracteres, gzip.msdos.exe se comprime a gzi.msd.exe.gz. Los nombres no se truncan en los sistemas que no tienen un límite en la longitud de los nombres de archivo.
Por defecto, gzip mantiene el nombre del archivo original y la marca de tiempo en el archivo comprimido. Se utilizan cuando se descomprime el archivo con la opción -N . Esto es útil cuando el nombre del archivo comprimido se ha truncado o cuando la marca de tiempo no se ha conservado después de una transferencia de archivo.
Los archivos comprimidos pueden restaurarse a su forma original usando gzip -d o gunzip o zcat. Si el nombre original guardado en el archivo comprimido no es adecuado para su sistema de archivos, se construye un nuevo nombre a partir del nombre original para hacerlo legal.
gunzip toma una lista de archivos en su línea de comandos y reemplaza cada archivo cuyo nombre termina con .gz, -gz, .z, -z, _z o.Z y que comienza con el número mágico correcto con un archivo descomprimido sin la extensión original. gunzip también reconoce las extensiones especiales .tgz y .taz como abreviaturas de .tar.gz y .tar.Z respectivamente. Al comprimir, gzip utiliza la extensión .tgz si es necesario en lugar de truncar un archivo con una extensión .tar .
gunzip puede descomprimir archivos creados por gzip, zip, compress, compress, compress -H o pack. La detección del formato de entrada es automática. Cuando se utilizan los dos primeros formatos, gunzip comprueba un CRC de 32 bits. Para el paquete , gunzip comprueba la longitud sin comprimir. El formato estándar compress no fue diseñado para permitir las comprobaciones de coherencia. Sin embargo, gunzip a veces es capaz de detectar un archivo.z malo. Si obtiene un error al descomprimir un archivo.Z, no asuma que el archivo.Z es correcto simplemente porque el estándar descomprime no se queja. Esto generalmente significa que el estándar descomprime no comprueba su entrada, y genera felizmente la salida de basura. El formato SCO compress -H (método de compresión lzh) no incluye un CRC pero también permite algunas comprobaciones de consistencia.
Los archivos creados por zip pueden ser descomprimidos por gzip sólo si tienen un único miembro comprimido con el método’deflation’. Esta función sólo sirve para ayudar a convertir archivos tar.zip al formato tar.gz. Para extraer archivos zip con varios miembros, utilice unzip en lugar de gunzip.
zcat es idéntico a gunzip -c. (En algunos sistemas, zcat puede instalarse como gzcat para preservar el enlace original a compress.) zcat descomprime una lista de archivos en la línea de comandos o en su entrada estándar y escribe los datos descomprimidos en la salida estándar. zcat descomprimirá los archivos que tengan el número mágico correcto tanto si tienen un sufijo .gz como si no.
Gzip utiliza el algoritmo Lempel-Ziv utilizado en zip y PKZIP. La cantidad de compresión obtenida depende del tamaño de la entrada y de la distribución de las subcadenas comunes. Típicamente, el texto como el código fuente o el inglés se reduce en un 60-70%. La compresión es generalmente mucho mejor que la lograda por LZW (como se usa en compress), codificación Huffman (como se usa en pack), o codificación adaptativa Huffman ( compact).
La compresión se realiza siempre, incluso si el archivo comprimido es ligeramente mayor que el original. En el peor de los casos, la expansión es de unos pocos bytes para el encabezado del archivo gzip, más 5 bytes por cada bloque de 32K, o una relación de expansión de 0,015% para archivos grandes. Tenga en cuenta que el número real de bloques de disco usados casi nunca aumenta. gzip conserva el modo, la propiedad y las marcas de tiempo de los archivos al comprimir o descomprimir.
OPCIONES
-a –ascii
- Modo texto Ascii: conversión de finales de línea mediante convenciones locales. Esta opción sólo es compatible con algunos sistemas que no son Unix. Para MSDOS, CR LF se convierte a LF cuando se comprime, y LF se convierte a CR LF cuando se descomprime.
-c –stdout –tostdout
- Escriba la salida en la salida estándar; mantenga los archivos originales sin cambios. Si hay varios archivos de entrada, la salida consiste en una secuencia de miembros comprimidos de forma independiente. Para obtener una mejor compresión, concatene todos los archivos de entrada antes de comprimirlos.
-d –decomprimir –uncomprimir
- Descomprimir.
-f –force
- Forzar la compresión o descompresión incluso si el archivo tiene múltiples enlaces o si el archivo correspondiente ya existe, o si los datos comprimidos se leen o escriben en un terminal. Si los datos de entrada no están en un formato reconocido por gzip, y si la opción –stdout también está dada, copie los datos de entrada sin cambiar a la salida estándar: let zcat behave as cat. Si -f no está dado, y cuando no se ejecuta en segundo plano, gzip solicita verificar si un archivo existente debe ser sobreescrito.
-h –help
- Muestre una pantalla de ayuda y salga.
-l –list
Para cada archivo comprimido, enumere los siguientes campos:
- Tamaño comprimido: tamaño del archivo comprimido
- Tamaño sin comprimir: tamaño del archivo sin comprimir
- Relación: relación de compresión (0,0% si se desconoce)
- Uncompressed_name: nombre del archivo descomprimido
El tamaño sin comprimir se da como -1 para los archivos que no están en formato gzip, como los archivos.z comprimidos. Para obtener el tamaño sin comprimir de un archivo de este tipo, puede utilizar:
- archivo zcat.Z | wc -c
En combinación con la opción –verbose, también se muestran los siguientes campos:
- método: método de compresión
- crc: el CRC de 32 bits de los datos no comprimidos
- date & time: marca de tiempo para el archivo sin comprimir
Los métodos de compresión actualmente soportados son deflate, compress, lzh (SCO compress -H) y pack. El crc se da como ffffffffff para un archivo que no está en formato gzip.
Con –name, el nombre sin comprimir, la fecha y la hora son los que se almacenan en el archivo de compresión si está presente.
Con –verbose, también se muestran los totales de tamaño y la relación de compresión de todos los archivos, a menos que se desconozcan algunos tamaños. Con –quiet, las líneas de título y totales no se muestran.
-L –licencia
- Mostrar la licencia gzip y salir.
-n –no-nombre
- Al comprimir, no guarde el nombre del archivo original y la marca de tiempo de forma predeterminada. Al descomprimir, no restaure el nombre del archivo original si está presente (elimine sólo el sufijo gzip del nombre del archivo comprimido) y no restaure el sello de tiempo original si está presente (cópielo del archivo comprimido). Esta opción es la predeterminada al descomprimir.
-N –nombre
- Al comprimir, guarde siempre el nombre del archivo original y la marca de tiempo; éste es el valor predeterminado. Al descomprimir, restaure el nombre del archivo original y la marca de tiempo si está presente. Esta opción es útil en sistemas que tienen un límite en la longitud del nombre de archivo o cuando se ha perdido la marca de tiempo después de una transferencia de archivo.
-q –quiet
- Suprimir todas las advertencias.
-r –recursivo
- Recorrer la estructura de directorios recursivamente. Si alguno de los nombres de archivo especificados en la línea de comandos son directorios, gzip descenderá al directorio y comprimirá todos los archivos que encuentre allí (o los descomprimirá en el caso de gunzip).
-S.suf –sufijo.suf
Utilice el sufijo.suf en lugar de.gz. Se puede dar cualquier sufijo, pero se deben evitar los sufijos que no sean .z y.gz para evitar confusiones cuando se transfieren archivos a otros sistemas. Un sufijo nulo obliga a gunzip a intentar la descompresión en todos los archivos dados sin importar el sufijo, como en:
- gunzip -S «» * (*.* para MSDOS)
Las versiones anteriores de gzip usaban el sufijo.z. Esto fue cambiado para evitar un conflicto con pack(1).
-t –test
- Prueba. Compruebe la integridad del archivo comprimido.
-v –verbose
- Verboso. Muestra el nombre y el porcentaje de reducción para cada archivo comprimido o descomprimido.
-V –versión
- Versión. Mostrar el número de versión y las opciones de compilación y, a continuación, salir.
-# –fast –best
- Regule la velocidad de compresión utilizando el dígito especificado #, donde -1 o –fast indica el método de compresión más rápido (menos compresión) y -9 o –best indica el método de compresión más lento (mejor compresión). El nivel de compresión predeterminado es -6 (es decir, sesgado hacia una compresión alta a expensas de la velocidad).
Uso avanzado
Se pueden concatenar varios archivos comprimidos. En este caso, gunzip extraerá todos los miembros a la vez. Por ejemplo:
- gzip -c fichero1> foo.gz
- gzip -c fichero2>>> foo.gz
Entonces
- gunzip -c foo
es equivalente a
- cat file1 file2
En caso de daño a un miembro de un archivo.gz, otros miembros pueden ser recuperados (si el miembro dañado es removido). Sin embargo, puede obtener una mejor compresión comprimiendo todos los miembros a la vez:
- cat file1 file2 | gzip> foo.gz
se comprime mejor que
- gzip -c archivo1 archivo2> foo.gz
Si desea recomprimir archivos concatenados para obtener una mejor compresión, hágalo:
- gzip -cd old.gz | gzip> new.gz
Si un archivo comprimido consta de varios miembros, el tamaño sin comprimir y el CRC reportado por la opción –list se aplica sólo al último miembro. Si necesita el tamaño sin comprimir para todos los miembros, puede utilizarlo:
- gzip -cd file.gz | wc -c
Si desea crear un único archivo de almacenamiento con varios miembros para que los miembros puedan extraerse posteriormente de forma independiente, utilice un archivador como tar o zip. GNU tar soporta la opción -z para invocar gzip de forma transparente. gzip está diseñado como un complemento de tar, no como un sustituto.