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