15c4b64e6SXin LI.\" $NetBSD: gzip.1,v 1.31 2018/10/26 22:10:15 christos Exp $ 29a9ea25fSXin LI.\" 390f528e8SXin LI.\" Copyright (c) 1997, 2003, 2004, 2008, 2009, 2015, 2017 Matthew R. Green 49a9ea25fSXin LI.\" All rights reserved. 59a9ea25fSXin LI.\" 69a9ea25fSXin LI.\" Redistribution and use in source and binary forms, with or without 79a9ea25fSXin LI.\" modification, are permitted provided that the following conditions 89a9ea25fSXin LI.\" are met: 99a9ea25fSXin LI.\" 1. Redistributions of source code must retain the above copyright 109a9ea25fSXin LI.\" notice, this list of conditions and the following disclaimer. 119a9ea25fSXin LI.\" 2. Redistributions in binary form must reproduce the above copyright 129a9ea25fSXin LI.\" notice, this list of conditions and the following disclaimer in the 139a9ea25fSXin LI.\" documentation and/or other materials provided with the distribution. 149a9ea25fSXin LI.\" 159a9ea25fSXin LI.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 169a9ea25fSXin LI.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 179a9ea25fSXin LI.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 189a9ea25fSXin LI.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 199a9ea25fSXin LI.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 209a9ea25fSXin LI.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 219a9ea25fSXin LI.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 229a9ea25fSXin LI.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 239a9ea25fSXin LI.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 249a9ea25fSXin LI.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 259a9ea25fSXin LI.\" SUCH DAMAGE. 26f9349d42SDag-Erling Smørgrav.Dd November 2, 2022 279a9ea25fSXin LI.Dt GZIP 1 289a9ea25fSXin LI.Os 299a9ea25fSXin LI.Sh NAME 3090f528e8SXin LI.Nm gzip , 3190f528e8SXin LI.Nm gunzip , 3290f528e8SXin LI.Nm zcat 339a9ea25fSXin LI.Nd compression/decompression tool using Lempel-Ziv coding (LZ77) 349a9ea25fSXin LI.Sh SYNOPSIS 359a9ea25fSXin LI.Nm 362a8e7ac9SXin LI.Op Fl cdfhkLlNnqrtVv 379a9ea25fSXin LI.Op Fl S Ar suffix 389a9ea25fSXin LI.Ar file 399a9ea25fSXin LI.Oo 409a9ea25fSXin LI.Ar file Oo ... 419a9ea25fSXin LI.Oc 429a9ea25fSXin LI.Oc 439a9ea25fSXin LI.Nm gunzip 44bca072afSXin LI.Op Fl cfhkLNqrtVv 459a9ea25fSXin LI.Op Fl S Ar suffix 469a9ea25fSXin LI.Ar file 479a9ea25fSXin LI.Oo 489a9ea25fSXin LI.Ar file Oo ... 499a9ea25fSXin LI.Oc 509a9ea25fSXin LI.Oc 519a9ea25fSXin LI.Nm zcat 529a9ea25fSXin LI.Op Fl fhV 539a9ea25fSXin LI.Ar file 549a9ea25fSXin LI.Oo 559a9ea25fSXin LI.Ar file Oo ... 569a9ea25fSXin LI.Oc 579a9ea25fSXin LI.Oc 589a9ea25fSXin LI.Sh DESCRIPTION 599a9ea25fSXin LIThe 609a9ea25fSXin LI.Nm 619a9ea25fSXin LIprogram compresses and decompresses files using Lempel-Ziv coding 629a9ea25fSXin LI(LZ77). 639a9ea25fSXin LIIf no 649a9ea25fSXin LI.Ar files 659a9ea25fSXin LIare specified, 669a9ea25fSXin LI.Nm 679a9ea25fSXin LIwill compress from standard input, or decompress to standard output. 689a9ea25fSXin LIWhen in compression mode, each 699a9ea25fSXin LI.Ar file 709a9ea25fSXin LIwill be replaced with another file with the suffix, set by the 719a9ea25fSXin LI.Fl S Ar suffix 729a9ea25fSXin LIoption, added, if possible. 730889440aSXin LI.Pp 749a9ea25fSXin LIIn decompression mode, each 759a9ea25fSXin LI.Ar file 769a9ea25fSXin LIwill be checked for existence, as will the file with the suffix 779a9ea25fSXin LIadded. 780889440aSXin LIEach 790889440aSXin LI.Ar file 800889440aSXin LIargument must contain a separate complete archive; 810889440aSXin LIwhen multiple 820889440aSXin LI.Ar files 830889440aSXin LIare indicated, each is decompressed in turn. 840889440aSXin LI.Pp 850889440aSXin LIIn the case of 860889440aSXin LI.Nm gzcat 870889440aSXin LIthe resulting data is then concatenated in the manner of 880889440aSXin LI.Xr cat 1 . 899a9ea25fSXin LI.Pp 909a9ea25fSXin LIIf invoked as 919a9ea25fSXin LI.Nm gunzip 929a9ea25fSXin LIthen the 939a9ea25fSXin LI.Fl d 949a9ea25fSXin LIoption is enabled. 959a9ea25fSXin LIIf invoked as 969a9ea25fSXin LI.Nm zcat 979a9ea25fSXin LIor 989a9ea25fSXin LI.Nm gzcat 999a9ea25fSXin LIthen both the 1009a9ea25fSXin LI.Fl c 1019a9ea25fSXin LIand 1029a9ea25fSXin LI.Fl d 1039a9ea25fSXin LIoptions are enabled. 1049a9ea25fSXin LI.Pp 1059a9ea25fSXin LIThis version of 1069a9ea25fSXin LI.Nm 1079a9ea25fSXin LIis also capable of decompressing files compressed using 1080eeac589SXin LI.Xr compress 1 , 1090eeac589SXin LI.Xr bzip2 1 , 1105c4b64e6SXin LI.Ar lzip , 111f9349d42SDag-Erling Smørgrav.Xr zstd 1 , 1129a9ea25fSXin LIor 1130eeac589SXin LI.Xr xz 1 . 1149a9ea25fSXin LI.Sh OPTIONS 1159a9ea25fSXin LIThe following options are available: 1169a9ea25fSXin LI.Bl -tag -width XXrXXXrecursiveX 11790f528e8SXin LI.It Fl 1 , Fl Fl fast 1189a9ea25fSXin LI.It Fl 2 , 3 , 4 , 5 , 6 , 7 , 8 11990f528e8SXin LI.It Fl 9 , Fl Fl best 1209a9ea25fSXin LIThese options change the compression level used, with the 1219a9ea25fSXin LI.Fl 1 1229a9ea25fSXin LIoption being the fastest, with less compression, and the 1239a9ea25fSXin LI.Fl 9 1249a9ea25fSXin LIoption being the slowest, with optimal compression. 1259a9ea25fSXin LIThe default compression level is 6. 12690f528e8SXin LI.It Fl c , Fl Fl stdout , Fl Fl to-stdout 1279a9ea25fSXin LIThis option specifies that output will go to the standard output 1289a9ea25fSXin LIstream, leaving files intact. 12990f528e8SXin LI.It Fl d , Fl Fl decompress , Fl Fl uncompress 1309a9ea25fSXin LIThis option selects decompression rather than compression. 13190f528e8SXin LI.It Fl f , Fl Fl force 1329a9ea25fSXin LIThis option turns on force mode. 133fc268910SXin LIThis allows files with multiple links, symbolic links to regular files, 134fc268910SXin LIoverwriting of pre-existing files, reading from or writing to a terminal, 135fc268910SXin LIand when combined with the 1369a9ea25fSXin LI.Fl c 1379a9ea25fSXin LIoption, allowing non-compressed data to pass through unchanged. 13890f528e8SXin LI.It Fl h , Fl Fl help 1399a9ea25fSXin LIThis option prints a usage summary and exits. 14090f528e8SXin LI.It Fl k , Fl Fl keep 14190f528e8SXin LIThis option prevents 14290f528e8SXin LI.Nm 14390f528e8SXin LIfrom deleting input files after (de)compression. 1449a9ea25fSXin LI.It Fl L , -license 1459a9ea25fSXin LIThis option prints 1469a9ea25fSXin LI.Nm 1479a9ea25fSXin LIlicense. 14890f528e8SXin LI.It Fl l , Fl Fl list 1499a9ea25fSXin LIThis option displays information about the file's compressed and 1509a9ea25fSXin LIuncompressed size, ratio, uncompressed name. 1519a9ea25fSXin LIWith the 1529a9ea25fSXin LI.Fl v 1539a9ea25fSXin LIoption, it also displays the compression method, CRC, date and time 1549a9ea25fSXin LIembedded in the file. 15590f528e8SXin LI.It Fl N , Fl Fl name 1569a9ea25fSXin LIThis option causes the stored filename in the input file to be used 1579a9ea25fSXin LIas the output file. 15890f528e8SXin LI.It Fl n , Fl Fl no-name 159b47ed83dSXin LIThis option stops the filename and timestamp from being stored in 160b47ed83dSXin LIthe output file. 16190f528e8SXin LI.It Fl q , Fl Fl quiet 1629a9ea25fSXin LIWith this option, no warnings or errors are printed. 16390f528e8SXin LI.It Fl r , Fl Fl recursive 1649a9ea25fSXin LIThis option is used to 1659a9ea25fSXin LI.Nm 1669a9ea25fSXin LIthe files in a directory tree individually, using the 1679a9ea25fSXin LI.Xr fts 3 1689a9ea25fSXin LIlibrary. 16990f528e8SXin LI.It Fl S Ar suffix , Fl Fl suffix Ar suffix 1709a9ea25fSXin LIThis option changes the default suffix from .gz to 1719a9ea25fSXin LI.Ar suffix . 17290f528e8SXin LI.It Fl t , Fl Fl test 1739a9ea25fSXin LIThis option will test compressed files for integrity. 17490f528e8SXin LI.It Fl V , Fl Fl version 1759a9ea25fSXin LIThis option prints the version of the 1769a9ea25fSXin LI.Nm 1779a9ea25fSXin LIprogram. 17890f528e8SXin LI.It Fl v , Fl Fl verbose 1799a9ea25fSXin LIThis option turns on verbose mode, which prints the compression 1809a9ea25fSXin LIratio for each file compressed. 1819a9ea25fSXin LI.El 1829a9ea25fSXin LI.Sh ENVIRONMENT 1839a9ea25fSXin LIIf the environment variable 1849a9ea25fSXin LI.Ev GZIP 1859a9ea25fSXin LIis set, it is parsed as a white-space separated list of options 1869a9ea25fSXin LIhandled before any options on the command line. 1879a9ea25fSXin LIOptions on the command line will override anything in 1889a9ea25fSXin LI.Ev GZIP . 189354ed042SXin LI.Sh EXIT STATUS 190354ed042SXin LIThe 191354ed042SXin LI.Nm 192354ed042SXin LIutility exits 0 on success, 193354ed042SXin LI1 on errors, 194354ed042SXin LIand 2 if a warning occurs. 19590f528e8SXin LI.Sh SIGNALS 19690f528e8SXin LI.Nm 19790f528e8SXin LIresponds to the following signals: 19890f528e8SXin LI.Bl -tag -width indent 19990f528e8SXin LI.It Dv SIGINFO 20090f528e8SXin LIReport progress to standard error. 20190f528e8SXin LI.El 2029a9ea25fSXin LI.Sh SEE ALSO 2039a9ea25fSXin LI.Xr bzip2 1 , 2049a9ea25fSXin LI.Xr compress 1 , 205140c037aSXin LI.Xr xz 1 , 206*6e1fc011SGraham Percival.Xr zstd 1 , 2079a9ea25fSXin LI.Xr fts 3 , 2089a9ea25fSXin LI.Xr zlib 3 2099a9ea25fSXin LI.Sh HISTORY 2109a9ea25fSXin LIThe 2119a9ea25fSXin LI.Nm 2129a9ea25fSXin LIprogram was originally written by Jean-loup Gailly, licensed under 2139a9ea25fSXin LIthe GNU Public Licence. 2149a9ea25fSXin LIMatthew R. Green wrote a simple front end for 2159a9ea25fSXin LI.Nx 1.3 2169a9ea25fSXin LIdistribution media, based on the freely re-distributable zlib library. 2179a9ea25fSXin LIIt was enhanced to be mostly feature-compatible with the original 2189a9ea25fSXin LIGNU 2199a9ea25fSXin LI.Nm 2209a9ea25fSXin LIprogram for 2219a9ea25fSXin LI.Nx 2.0 . 2229a9ea25fSXin LI.Pp 2239a9ea25fSXin LIThis implementation of 2249a9ea25fSXin LI.Nm 2259a9ea25fSXin LIwas ported based on the 2269a9ea25fSXin LI.Nx 22790f528e8SXin LI.Nm 2285c4b64e6SXin LIversion 20181111, 229feeb03b2SXin LIand first appeared in 2309a9ea25fSXin LI.Fx 7.0 . 2319a9ea25fSXin LI.Sh AUTHORS 232feeb03b2SXin LI.An -nosplit 2339a9ea25fSXin LIThis implementation of 2349a9ea25fSXin LI.Nm 2359a9ea25fSXin LIwas written by 2362b7af31cSBaptiste Daroussin.An Matthew R. Green Aq Mt mrg@eterna.com.au 237feeb03b2SXin LIwith unpack support written by 2382b7af31cSBaptiste Daroussin.An Xin LI Aq Mt delphij@FreeBSD.org . 2392bab61b0SXin LI.Sh BUGS 2402bab61b0SXin LIAccording to RFC 1952, the recorded file size is stored in a 32-bit 2411edd4fcdSXin LIinteger, therefore, it cannot represent files larger than 4GB. 2421edd4fcdSXin LIThis limitation also applies to 2432bab61b0SXin LI.Fl l 2442bab61b0SXin LIoption of 2452bab61b0SXin LI.Nm 2462bab61b0SXin LIutility. 247