Mercurial > hg > Applications > mh
comparison miscellany/compress-4.0/compress.1 @ 0:bce86c4163a3
Initial revision
author | kono |
---|---|
date | Mon, 18 Apr 2005 23:46:02 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:bce86c4163a3 |
---|---|
1 .PU | |
2 .TH COMPRESS 1 local | |
3 .SH NAME | |
4 compress, uncompress, zcat \- compress and expand data | |
5 .SH SYNOPSIS | |
6 .ll +8 | |
7 .B compress | |
8 [ | |
9 .B \-f | |
10 ] [ | |
11 .B \-v | |
12 ] [ | |
13 .B \-c | |
14 ] [ | |
15 .B \-V | |
16 ] [ | |
17 .B \-b | |
18 .I bits | |
19 ] [ | |
20 .I "name \&..." | |
21 ] | |
22 .ll -8 | |
23 .br | |
24 .B uncompress | |
25 [ | |
26 .B \-f | |
27 ] [ | |
28 .B \-v | |
29 ] [ | |
30 .B \-c | |
31 ] [ | |
32 .B \-V | |
33 ] [ | |
34 .I "name \&..." | |
35 ] | |
36 .br | |
37 .B zcat | |
38 [ | |
39 .B \-V | |
40 ] [ | |
41 .I "name \&..." | |
42 ] | |
43 .SH DESCRIPTION | |
44 .I Compress | |
45 reduces the size of the named files using adaptive Lempel-Ziv coding. | |
46 Whenever possible, | |
47 each file is replaced by one with the extension | |
48 .B "\&.Z," | |
49 while keeping the same ownership modes, access and modification times. | |
50 If no files are specified, the standard input is compressed to the | |
51 standard output. | |
52 Compressed files can be restored to their original form using | |
53 .I uncompress | |
54 or | |
55 .I zcat. | |
56 .PP | |
57 The | |
58 .B \-f | |
59 option will force compression of | |
60 .I name. | |
61 This is useful for compressing an entire directory, | |
62 even if some of the files do not actually shrink. | |
63 If | |
64 .B \-f | |
65 is not given and | |
66 .I compress | |
67 is run in the foreground, | |
68 the user is prompted as to whether an existing file should be overwritten. | |
69 .PP | |
70 The | |
71 .B \-c | |
72 option makes | |
73 .I compress/uncompress | |
74 write to the standard output; no files are changed. | |
75 The nondestructive behavior of | |
76 .I zcat | |
77 is identical to that of | |
78 .I uncompress | |
79 .B \-c. | |
80 .PP | |
81 .I Compress | |
82 uses the modified Lempel-Ziv algorithm popularized in | |
83 "A Technique for High Performance Data Compression", | |
84 Terry A. Welch, | |
85 .I "IEEE Computer," | |
86 vol. 17, no. 6 (June 1984), pp. 8-19. | |
87 Common substrings in the file are first replaced by 9-bit codes 257 and up. | |
88 When code 512 is reached, the algorithm switches to 10-bit codes and | |
89 continues to use more bits until the | |
90 limit specified by the | |
91 .B \-b | |
92 flag is reached (default 16). | |
93 .I Bits | |
94 must be between 9 and 16. The default can be changed in the source to allow | |
95 .I compress | |
96 to be run on a smaller machine. | |
97 .PP | |
98 After the | |
99 .I bits | |
100 limit is attained, | |
101 .I compress | |
102 periodically checks the compression ratio. If it is increasing, | |
103 .I compress | |
104 continues to use the existing code dictionary. However, | |
105 if the compression ratio decreases, | |
106 .I compress | |
107 discards the table of substrings and rebuilds it from scratch. This allows | |
108 the algorithm to adapt to the next "block" of the file. | |
109 .PP | |
110 Note that the | |
111 .B \-b | |
112 flag is omitted for | |
113 .I uncompress, | |
114 since the | |
115 .I bits | |
116 parameter specified during compression | |
117 is encoded within the output, along with | |
118 a magic number to ensure that neither decompression of random data nor | |
119 recompression of compressed data is attempted. | |
120 .PP | |
121 .ne 8 | |
122 The amount of compression obtained depends on the size of the | |
123 input, the number of | |
124 .I bits | |
125 per code, and the distribution of common substrings. | |
126 Typically, text such as source code or English | |
127 is reduced by 50\-60%. | |
128 Compression is generally much better than that achieved by | |
129 Huffman coding (as used in | |
130 .IR pack ), | |
131 or adaptive Huffman coding | |
132 .RI ( compact ), | |
133 and takes less time to compute. | |
134 .PP | |
135 Under the | |
136 .B \-v | |
137 option, | |
138 a message is printed yielding the percentage of | |
139 reduction for each file compressed. | |
140 .PP | |
141 If the | |
142 .B \-V | |
143 option is specified, the current version and compile options are printed on | |
144 stderr. | |
145 .PP | |
146 Exit status is normally 0; | |
147 if the last file is larger after (attempted) compression, the status is 2; | |
148 if an error occurs, exit status is 1. | |
149 .SH "SEE ALSO" | |
150 pack(1), compact(1) | |
151 .SH "DIAGNOSTICS" | |
152 Usage: compress [\-dfvcV] [\-b maxbits] [file ...] | |
153 .in +8 | |
154 Invalid options were specified on the command line. | |
155 .in -8 | |
156 Missing maxbits | |
157 .in +8 | |
158 Maxbits must follow | |
159 .BR \-b \. | |
160 .in -8 | |
161 .IR file : | |
162 not in compressed format | |
163 .in +8 | |
164 The file specified to | |
165 .I uncompress | |
166 has not been compressed. | |
167 .in -8 | |
168 .IR file : | |
169 compressed with | |
170 .I xx | |
171 bits, can only handle | |
172 .I yy | |
173 bits | |
174 .in +8 | |
175 .I File | |
176 was compressed by a program that could deal with | |
177 more | |
178 .I bits | |
179 than the compress code on this machine. | |
180 Recompress the file with smaller | |
181 .IR bits \. | |
182 .in -8 | |
183 .IR file : | |
184 already has .Z suffix -- no change | |
185 .in +8 | |
186 The file is assumed to be already compressed. | |
187 Rename the file and try again. | |
188 .in -8 | |
189 .IR file : | |
190 filename too long to tack on .Z | |
191 .in +8 | |
192 The file cannot be compressed because its name is longer than | |
193 12 characters. | |
194 Rename and try again. | |
195 This message does not occur on BSD systems. | |
196 .in -8 | |
197 .I file | |
198 already exists; do you wish to overwrite (y or n)? | |
199 .in +8 | |
200 Respond "y" if you want the output file to be replaced; "n" if not. | |
201 .in -8 | |
202 uncompress: corrupt input | |
203 .in +8 | |
204 A SIGSEGV violation was detected which usually means that the input file has | |
205 been corrupted. | |
206 .in -8 | |
207 Compression: | |
208 .I "xx.xx%" | |
209 .in +8 | |
210 Percentage of the input saved by compression. | |
211 (Relevant only for | |
212 .BR \-v \.) | |
213 .in -8 | |
214 -- not a regular file: unchanged | |
215 .in +8 | |
216 When the input file is not a regular file, | |
217 (e.g. a directory), it is | |
218 left unaltered. | |
219 .in -8 | |
220 -- has | |
221 .I xx | |
222 other links: unchanged | |
223 .in +8 | |
224 The input file has links; it is left unchanged. See | |
225 .IR ln "(1)" | |
226 for more information. | |
227 .in -8 | |
228 -- file unchanged | |
229 .in +8 | |
230 No savings is achieved by | |
231 compression. The input remains virgin. | |
232 .in -8 | |
233 .SH "BUGS" | |
234 Although compressed files are compatible between machines with large memory, | |
235 .BR \-b \12 | |
236 should be used for file transfer to architectures with | |
237 a small process data space (64KB or less, as exhibited by the DEC PDP | |
238 series, the Intel 80286, etc.) |