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.Dd November 2, 2022 27.Dt GZIP 1 28.Os 29.Sh NAME 30.Nm gzip , 31.Nm gunzip , 32.Nm zcat 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 , 109.Xr bzip2 1 , 110.Ar lzip , 111.Xr zstd 1 , 112or 113.Xr xz 1 . 114.Sh OPTIONS 115The following options are available: 116.Bl -tag -width XXrXXXrecursiveX 117.It Fl 1 , Fl Fl fast 118.It Fl 2 , 3 , 4 , 5 , 6 , 7 , 8 119.It Fl 9 , Fl Fl best 120These options change the compression level used, with the 121.Fl 1 122option being the fastest, with less compression, and the 123.Fl 9 124option being the slowest, with optimal compression. 125The default compression level is 6. 126.It Fl c , Fl Fl stdout , Fl Fl to-stdout 127This option specifies that output will go to the standard output 128stream, leaving files intact. 129.It Fl d , Fl Fl decompress , Fl Fl uncompress 130This option selects decompression rather than compression. 131.It Fl f , Fl Fl force 132This option turns on force mode. 133This allows files with multiple links, symbolic links to regular files, 134overwriting of pre-existing files, reading from or writing to a terminal, 135and when combined with the 136.Fl c 137option, allowing non-compressed data to pass through unchanged. 138.It Fl h , Fl Fl help 139This option prints a usage summary and exits. 140.It Fl k , Fl Fl keep 141This option prevents 142.Nm 143from deleting input files after (de)compression. 144.It Fl L , -license 145This option prints 146.Nm 147license. 148.It Fl l , Fl Fl list 149This option displays information about the file's compressed and 150uncompressed size, ratio, uncompressed name. 151With the 152.Fl v 153option, it also displays the compression method, CRC, date and time 154embedded in the file. 155.It Fl N , Fl Fl name 156This option causes the stored filename in the input file to be used 157as the output file. 158.It Fl n , Fl Fl no-name 159This option stops the filename and timestamp from being stored in 160the output file. 161.It Fl q , Fl Fl quiet 162With this option, no warnings or errors are printed. 163.It Fl r , Fl Fl recursive 164This option is used to 165.Nm 166the files in a directory tree individually, using the 167.Xr fts 3 168library. 169.It Fl S Ar suffix , Fl Fl suffix Ar suffix 170This option changes the default suffix from .gz to 171.Ar suffix . 172.It Fl t , Fl Fl test 173This option will test compressed files for integrity. 174.It Fl V , Fl Fl version 175This option prints the version of the 176.Nm 177program. 178.It Fl v , Fl Fl verbose 179This option turns on verbose mode, which prints the compression 180ratio for each file compressed. 181.El 182.Sh ENVIRONMENT 183If the environment variable 184.Ev GZIP 185is set, it is parsed as a white-space separated list of options 186handled before any options on the command line. 187Options on the command line will override anything in 188.Ev GZIP . 189.Sh EXIT STATUS 190The 191.Nm 192utility exits 0 on success, 1931 on errors, 194and 2 if a warning occurs. 195.Sh SIGNALS 196.Nm 197responds to the following signals: 198.Bl -tag -width indent 199.It Dv SIGINFO 200Report progress to standard error. 201.El 202.Sh SEE ALSO 203.Xr bzip2 1 , 204.Xr compress 1 , 205.Xr zstd 1 , 206.Xr xz 1 , 207.Xr fts 3 , 208.Xr zlib 3 209.Sh HISTORY 210The 211.Nm 212program was originally written by Jean-loup Gailly, licensed under 213the GNU Public Licence. 214Matthew R. Green wrote a simple front end for 215.Nx 1.3 216distribution media, based on the freely re-distributable zlib library. 217It was enhanced to be mostly feature-compatible with the original 218GNU 219.Nm 220program for 221.Nx 2.0 . 222.Pp 223This implementation of 224.Nm 225was ported based on the 226.Nx 227.Nm 228version 20181111, 229and first appeared in 230.Fx 7.0 . 231.Sh AUTHORS 232.An -nosplit 233This implementation of 234.Nm 235was written by 236.An Matthew R. Green Aq Mt mrg@eterna.com.au 237with unpack support written by 238.An Xin LI Aq Mt delphij@FreeBSD.org . 239.Sh BUGS 240According to RFC 1952, the recorded file size is stored in a 32-bit 241integer, therefore, it cannot represent files larger than 4GB. 242This limitation also applies to 243.Fl l 244option of 245.Nm 246utility. 247