xref: /freebsd/usr.bin/gzip/gzip.1 (revision 4d846d26)
1.\"	$NetBSD: gzip.1,v 1.31 2018/10/26 22:10:15 christos Exp $
2.\"
3.\" Copyright (c) 1997, 2003, 2004, 2008, 2009, 2015, 2017 Matthew R. Green
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
20.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
22.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
23.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
25.\" SUCH DAMAGE.
26.\"
27.\" $FreeBSD$
28.Dd November 2, 2022
29.Dt GZIP 1
30.Os
31.Sh NAME
32.Nm gzip ,
33.Nm gunzip ,
34.Nm zcat
35.Nd compression/decompression tool using Lempel-Ziv coding (LZ77)
36.Sh SYNOPSIS
37.Nm
38.Op Fl cdfhkLlNnqrtVv
39.Op Fl S Ar suffix
40.Ar file
41.Oo
42.Ar file Oo ...
43.Oc
44.Oc
45.Nm gunzip
46.Op Fl cfhkLNqrtVv
47.Op Fl S Ar suffix
48.Ar file
49.Oo
50.Ar file Oo ...
51.Oc
52.Oc
53.Nm zcat
54.Op Fl fhV
55.Ar file
56.Oo
57.Ar file Oo ...
58.Oc
59.Oc
60.Sh DESCRIPTION
61The
62.Nm
63program compresses and decompresses files using Lempel-Ziv coding
64(LZ77).
65If no
66.Ar files
67are specified,
68.Nm
69will compress from standard input, or decompress to standard output.
70When in compression mode, each
71.Ar file
72will be replaced with another file with the suffix, set by the
73.Fl S Ar suffix
74option, added, if possible.
75.Pp
76In decompression mode, each
77.Ar file
78will be checked for existence, as will the file with the suffix
79added.
80Each
81.Ar file
82argument must contain a separate complete archive;
83when multiple
84.Ar files
85are indicated, each is decompressed in turn.
86.Pp
87In the case of
88.Nm gzcat
89the resulting data is then concatenated in the manner of
90.Xr cat 1 .
91.Pp
92If invoked as
93.Nm gunzip
94then the
95.Fl d
96option is enabled.
97If invoked as
98.Nm zcat
99or
100.Nm gzcat
101then both the
102.Fl c
103and
104.Fl d
105options are enabled.
106.Pp
107This version of
108.Nm
109is also capable of decompressing files compressed using
110.Xr compress 1 ,
111.Xr bzip2 1 ,
112.Ar lzip ,
113.Xr zstd 1 ,
114or
115.Xr xz 1 .
116.Sh OPTIONS
117The following options are available:
118.Bl -tag -width XXrXXXrecursiveX
119.It Fl 1 , Fl Fl fast
120.It Fl 2 , 3 , 4 , 5 , 6 , 7 , 8
121.It Fl 9 , Fl Fl best
122These options change the compression level used, with the
123.Fl 1
124option being the fastest, with less compression, and the
125.Fl 9
126option being the slowest, with optimal compression.
127The default compression level is 6.
128.It Fl c , Fl Fl stdout , Fl Fl to-stdout
129This option specifies that output will go to the standard output
130stream, leaving files intact.
131.It Fl d , Fl Fl decompress , Fl Fl uncompress
132This option selects decompression rather than compression.
133.It Fl f , Fl Fl force
134This option turns on force mode.
135This allows files with multiple links, symbolic links to regular files,
136overwriting of pre-existing files, reading from or writing to a terminal,
137and when combined with the
138.Fl c
139option, allowing non-compressed data to pass through unchanged.
140.It Fl h , Fl Fl help
141This option prints a usage summary and exits.
142.It Fl k , Fl Fl keep
143This option prevents
144.Nm
145from deleting input files after (de)compression.
146.It Fl L , -license
147This option prints
148.Nm
149license.
150.It Fl l , Fl Fl list
151This option displays information about the file's compressed and
152uncompressed size, ratio, uncompressed name.
153With the
154.Fl v
155option, it also displays the compression method, CRC, date and time
156embedded in the file.
157.It Fl N , Fl Fl name
158This option causes the stored filename in the input file to be used
159as the output file.
160.It Fl n , Fl Fl no-name
161This option stops the filename and timestamp from being stored in
162the output file.
163.It Fl q , Fl Fl quiet
164With this option, no warnings or errors are printed.
165.It Fl r , Fl Fl recursive
166This option is used to
167.Nm
168the files in a directory tree individually, using the
169.Xr fts 3
170library.
171.It Fl S Ar suffix , Fl Fl suffix Ar suffix
172This option changes the default suffix from .gz to
173.Ar suffix .
174.It Fl t , Fl Fl test
175This option will test compressed files for integrity.
176.It Fl V , Fl Fl version
177This option prints the version of the
178.Nm
179program.
180.It Fl v , Fl Fl verbose
181This option turns on verbose mode, which prints the compression
182ratio for each file compressed.
183.El
184.Sh ENVIRONMENT
185If the environment variable
186.Ev GZIP
187is set, it is parsed as a white-space separated list of options
188handled before any options on the command line.
189Options on the command line will override anything in
190.Ev GZIP .
191.Sh EXIT STATUS
192The
193.Nm
194utility exits 0 on success,
1951 on errors,
196and 2 if a warning occurs.
197.Sh SIGNALS
198.Nm
199responds to the following signals:
200.Bl -tag -width indent
201.It Dv SIGINFO
202Report progress to standard error.
203.El
204.Sh SEE ALSO
205.Xr bzip2 1 ,
206.Xr compress 1 ,
207.Xr zstd 1 ,
208.Xr xz 1 ,
209.Xr fts 3 ,
210.Xr zlib 3
211.Sh HISTORY
212The
213.Nm
214program was originally written by Jean-loup Gailly, licensed under
215the GNU Public Licence.
216Matthew R. Green wrote a simple front end for
217.Nx 1.3
218distribution media, based on the freely re-distributable zlib library.
219It was enhanced to be mostly feature-compatible with the original
220GNU
221.Nm
222program for
223.Nx 2.0 .
224.Pp
225This implementation of
226.Nm
227was ported based on the
228.Nx
229.Nm
230version 20181111,
231and first appeared in
232.Fx 7.0 .
233.Sh AUTHORS
234.An -nosplit
235This implementation of
236.Nm
237was written by
238.An Matthew R. Green Aq Mt mrg@eterna.com.au
239with unpack support written by
240.An Xin LI Aq Mt delphij@FreeBSD.org .
241.Sh BUGS
242According to RFC 1952, the recorded file size is stored in a 32-bit
243integer, therefore, it cannot represent files larger than 4GB.
244This limitation also applies to
245.Fl l
246option of
247.Nm
248utility.
249