GZIP(1)

NAME
gzip, gunzip, zcat - compression/decompression tool using Lempel-Ziv coding (LZ77)

SYNOPSIS
gzip [-cdfhkLlNnqrtVv] [-S suffix] file [ file [...]]
gunzip [-cfhkLNqrtVv] [-S suffix] file [ file [...]]
zcat [-fhV] file [ file [...]]

DESCRIPTION
The gzip program compresses and decompresses files using Lempel-Ziv coding (LZ77). If no files are specified, gzip will compress from standard input, or decompress to standard output. When in compression mode, each file will be replaced with another file with the suffix, set by the -S suffix option, added, if possible.

In decompression mode, each file will be checked for existence, as will the file with the suffix added. Each file argument must contain a separate complete archive; when multiple files are indicated, each is decompressed in turn.

In the case of gzcat the resulting data is then concatenated in the manner of cat(1).

If invoked as gunzip then the -d option is enabled. If invoked as zcat or gzcat then both the -c and -d options are enabled.

This version of gzip is also capable of decompressing files compressed using compress(1), bzip2(1), lzip, zstd(1), or xz(1).

OPTIONS
The following options are available:

-1, - -fast

-2, -3, -4, -5, -6, -7, -8

-9, - -best
    These options change the compression level used, with the -1 option being the fastest, with less compression, and the -9 option being the slowest, with optimal compression. The default compression level is 6.

-c, - -stdout, - -to-stdout
    This option specifies that output will go to the standard output stream, leaving files intact.

-d, - -decompress, - -uncompress
    This option selects decompression rather than compression.

-f, - -force
    This option turns on force mode. This allows files with multiple links, symbolic links to regular files, overwriting of pre-existing files, reading from or writing to a terminal, and when combined with the -c option, allowing non-compressed data to pass through unchanged.

-h, - -help
    This option prints a usage summary and exits.

-k, - -keep
    This option prevents gzip from deleting input files after (de)compression.

-L, --license
    This option prints gzip license.

-l, - -list
    This option displays information about the file's compressed and uncompressed size, ratio, uncompressed name. With the -v option, it also displays the compression method, CRC, date and time embedded in the file.

-N, - -name
    This option causes the stored filename in the input file to be used as the output file.

-n, - -no-name
    This option stops the filename and timestamp from being stored in the output file.

-q, - -quiet
    With this option, no warnings or errors are printed.

-r, - -recursive
    This option is used to gzip the files in a directory tree individually, using the fts(3) library.

-S suffix, - -suffix suffix
    This option changes the default suffix from .gz to suffix.

-t, - -test
    This option will test compressed files for integrity.

-V, - -version
    This option prints the version of the gzip program.

-v, - -verbose
    This option turns on verbose mode, which prints the compression ratio for each file compressed.

ENVIRONMENT
If the environment variable GZIP is set, it is parsed as a white-space separated list of options handled before any options on the command line. Options on the command line will override anything in GZIP.

EXIT STATUS
The gzip utility exits 0 on success, 1 on errors, and 2 if a warning occurs.

SIGNALS
gzip responds to the following signals:

SIGINFO
    Report progress to standard error.

SEE ALSO
bzip2(1), compress(1), xz(1), zstd(1), fts(3), zlib(3)

HISTORY
The gzip program was originally written by Jean-loup Gailly, licensed under the GNU Public Licence. Matthew R. Green wrote a simple front end for NetBSD 1.3 distribution media, based on the freely re-distributable zlib library. It was enhanced to be mostly feature-compatible with the original GNU gzip program for NetBSD 2.0.

This implementation of gzip was ported based on the NetBSD gzip version 20181111, and first appeared in FreeBSD 7.0.

AUTHORS
-nosplit This implementation of gzip was written by Matthew R. Green <mrg@eterna.com.au> with unpack support written by Xin LI <delphij@FreeBSD.org>.

BUGS
According to RFC 1952, the recorded file size is stored in a 32-bit integer, therefore, it cannot represent files larger than 4GB. This limitation also applies to -l option of gzip utility.