xref: /freebsd/usr.bin/gzip/gzip.1 (revision 8d20be1e22095c27faf8fe8b2f0d089739cc742e)
1.\"	$NetBSD: gzip.1,v 1.21 2011/06/19 02:22:36 christos Exp $
2.\"
3.\" Copyright (c) 1997, 2003, 2004 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 October 9, 2011
29.Dt GZIP 1
30.Os
31.Sh NAME
32.Nm gzip
33.Nd compression/decompression tool using Lempel-Ziv coding (LZ77)
34.Sh SYNOPSIS
35.Nm
36.Op Fl cdfhkLlNnqrtVv
37.Op Fl S Ar suffix
38.Ar file
39.Oo
40.Ar file Oo ...
41.Oc
42.Oc
43.Nm gunzip
44.Op Fl cfhkLNqrtVv
45.Op Fl S Ar suffix
46.Ar file
47.Oo
48.Ar file Oo ...
49.Oc
50.Oc
51.Nm zcat
52.Op Fl fhV
53.Ar file
54.Oo
55.Ar file Oo ...
56.Oc
57.Oc
58.Sh DESCRIPTION
59The
60.Nm
61program compresses and decompresses files using Lempel-Ziv coding
62(LZ77).
63If no
64.Ar files
65are specified,
66.Nm
67will compress from standard input, or decompress to standard output.
68When in compression mode, each
69.Ar file
70will be replaced with another file with the suffix, set by the
71.Fl S Ar suffix
72option, added, if possible.
73.Pp
74In decompression mode, each
75.Ar file
76will be checked for existence, as will the file with the suffix
77added.
78Each
79.Ar file
80argument must contain a separate complete archive;
81when multiple
82.Ar files
83are indicated, each is decompressed in turn.
84.Pp
85In the case of
86.Nm gzcat
87the resulting data is then concatenated in the manner of
88.Xr cat 1 .
89.Pp
90If invoked as
91.Nm gunzip
92then the
93.Fl d
94option is enabled.
95If invoked as
96.Nm zcat
97or
98.Nm gzcat
99then both the
100.Fl c
101and
102.Fl d
103options are enabled.
104.Pp
105This version of
106.Nm
107is also capable of decompressing files compressed using
108.Xr compress 1
109or
110.Xr bzip2 1 .
111.Sh OPTIONS
112The following options are available:
113.Bl -tag -width XXrXXXrecursiveX
114.It Fl 1 , -fast
115.It Fl 2 , 3 , 4 , 5 , 6 , 7 , 8
116.It Fl 9 , -best
117These options change the compression level used, with the
118.Fl 1
119option being the fastest, with less compression, and the
120.Fl 9
121option being the slowest, with optimal compression.
122The default compression level is 6.
123.It Fl c , -stdout , -to-stdout
124This option specifies that output will go to the standard output
125stream, leaving files intact.
126.It Fl d , -decompress , -uncompress
127This option selects decompression rather than compression.
128.It Fl f , -force
129This option turns on force mode.
130This allows files with multiple links, symbolic links to regular files,
131overwriting of pre-existing files, reading from or writing to a terminal,
132and when combined with the
133.Fl c
134option, allowing non-compressed data to pass through unchanged.
135.It Fl h , -help
136This option prints a usage summary and exits.
137.It Fl k , -keep
138Keep (don't delete) input files during compression
139or decompression.
140.It Fl L , -license
141This option prints
142.Nm
143license.
144.It Fl l , -list
145This option displays information about the file's compressed and
146uncompressed size, ratio, uncompressed name.
147With the
148.Fl v
149option, it also displays the compression method, CRC, date and time
150embedded in the file.
151.It Fl N , -name
152This option causes the stored filename in the input file to be used
153as the output file.
154.It Fl n , -no-name
155This option stops the filename and timestamp from being stored in
156the output file.
157.It Fl q , -quiet
158With this option, no warnings or errors are printed.
159.It Fl r , -recursive
160This option is used to
161.Nm
162the files in a directory tree individually, using the
163.Xr fts 3
164library.
165.It Fl S Ar suffix , Fl -suffix Ar suffix
166This option changes the default suffix from .gz to
167.Ar suffix .
168.It Fl t , -test
169This option will test compressed files for integrity.
170.It Fl V , -version
171This option prints the version of the
172.Nm
173program.
174.It Fl v , -verbose
175This option turns on verbose mode, which prints the compression
176ratio for each file compressed.
177.El
178.Sh ENVIRONMENT
179If the environment variable
180.Ev GZIP
181is set, it is parsed as a white-space separated list of options
182handled before any options on the command line.
183Options on the command line will override anything in
184.Ev GZIP .
185.Sh SEE ALSO
186.Xr bzip2 1 ,
187.Xr compress 1 ,
188.Xr xz 1 ,
189.Xr fts 3 ,
190.Xr zlib 3
191.Sh HISTORY
192The
193.Nm
194program was originally written by Jean-loup Gailly, licensed under
195the GNU Public Licence.
196Matthew R. Green wrote a simple front end for
197.Nx 1.3
198distribution media, based on the freely re-distributable zlib library.
199It was enhanced to be mostly feature-compatible with the original
200GNU
201.Nm
202program for
203.Nx 2.0 .
204.Pp
205This implementation of
206.Nm
207was ported based on the
208.Nx
209.Nm ,
210and first appeared in
211.Fx 7.0 .
212.Sh AUTHORS
213.An -nosplit
214This implementation of
215.Nm
216was written by
217.An Matthew R. Green Aq mrg@eterna.com.au
218with unpack support written by
219.An Xin LI Aq delphij@FreeBSD.org .
220.Sh BUGS
221According to RFC 1952, the recorded file size is stored in a 32-bit
222integer, therefore, it can not represent files larger than 4GB.
223This limitation also applies to
224.Fl l
225option of
226.Nm
227utility.
228