1 .\" 2 .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for 3 .\" permission to reproduce portions of its copyrighted documentation. 4 .\" Original documentation from The Open Group can be obtained online at 5 .\" http://www.opengroup.org/bookstore/. 6 .\" 7 .\" The Institute of Electrical and Electronics Engineers and The Open 8 .\" Group, have given us permission to reprint portions of their 9 .\" documentation. 10 .\" 11 .\" In the following statement, the phrase ``this text'' refers to portions 12 .\" of the system documentation. 13 .\" 14 .\" Portions of this text are reprinted and reproduced in electronic form 15 .\" in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, 16 .\" Standard for Information Technology -- Portable Operating System 17 .\" Interface (POSIX), The Open Group Base Specifications Issue 6, 18 .\" Copyright (C) 2001-2004 by the Institute of Electrical and Electronics 19 .\" Engineers, Inc and The Open Group. In the event of any discrepancy 20 .\" between these versions and the original IEEE and The Open Group 21 .\" Standard, the original IEEE and The Open Group Standard is the referee 22 .\" document. The original Standard can be obtained online at 23 .\" http://www.opengroup.org/unix/online.html. 24 .\" 25 .\" This notice shall appear on any product containing this material. 26 .\" 27 .\" The contents of this file are subject to the terms of the 28 .\" Common Development and Distribution License (the "License"). 29 .\" You may not use this file except in compliance with the License. 30 .\" 31 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 32 .\" or http://www.opensolaris.org/os/licensing. 33 .\" See the License for the specific language governing permissions 34 .\" and limitations under the License. 35 .\" 36 .\" When distributing Covered Code, include this CDDL HEADER in each 37 .\" file and include the License file at usr/src/OPENSOLARIS.LICENSE. 38 .\" If applicable, add the following below this CDDL HEADER, with the 39 .\" fields enclosed by brackets "[]" replaced with your own identifying 40 .\" information: Portions Copyright [yyyy] [name of copyright owner] 41 .\" 42 .\" 43 .\" Copyright 1989 AT&T 44 .\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved 45 .\" Copyright (c) 2008 Sun Microsystems, Inc. All Rights Reserved 46 .\" 47 .TH COMPRESS 1 "Mar 13, 2008" 48 .SH NAME 49 compress, uncompress, zcat \- compress, uncompress files or display expanded 50 files 51 .SH SYNOPSIS 52 .LP 53 .nf 54 \fBcompress\fR [\fB-fv/\fR] [\fB-b\fR \fIbits\fR] [\fIfile\fR]... 55 .fi 56 57 .LP 58 .nf 59 \fBcompress\fR \fB-c\fR [\fB-fv\fR] [\fB-b\fR \fIbits\fR] [\fIfile\fR] 60 .fi 61 62 .LP 63 .nf 64 \fBuncompress\fR [\fB-fv\fR] [\fB-c | -/\fR] [\fIfile\fR]... 65 .fi 66 67 .LP 68 .nf 69 \fBzcat\fR [\fIfile\fR]... 70 .fi 71 72 .SH DESCRIPTION 73 .SS "compress" 74 .sp 75 .LP 76 The \fBcompress\fR utility attempts to reduce the size of the named files by 77 using adaptive Lempel-Ziv coding. Except when the output is to the standard 78 output, each file is replaced by one with the extension \fB\&.Z\fR, while 79 keeping the same ownership modes, change times and modification times, ACLs, 80 and extended attributes. The compress utility also attempt to set the owner and 81 group of \fIfile\fR\fB\&.z\fR to the owner and group of file, but does not fail 82 if this cannot be done. If appending the \fB\&.Z\fR to the file pathname would 83 make the pathname exceed \fB1023\fR bytes, the command fails. If no files are 84 specified, the standard input is compressed to the standard output. 85 .sp 86 .LP 87 The amount of compression obtained depends on the size of the input, the number 88 of \fIbits\fR per code, and the distribution of common substrings. Typically, 89 text such as source code or English is reduced by 50\(mi60%. Compression is 90 generally much better than that achieved by Huffman coding (as used in 91 \fBpack\fR(1)) and it takes less time to compute. The \fIbits\fR parameter 92 specified during compression is encoded within the compressed file, along with 93 a magic number to ensure that neither decompression of random data nor 94 recompression of compressed data is subsequently allowed. 95 .SS "uncompress" 96 .sp 97 .LP 98 The \fBuncompress\fR utility restores files to their original state after they 99 have been compressed using the \fBcompress\fR utility. If no files are 100 specified, the standard input is uncompressed to the standard output. 101 .sp 102 .LP 103 This utility supports the uncompressing of any files produced by 104 \fBcompress\fR. For files produced by \fBcompress\fR on other systems, 105 \fBuncompress\fR supports 9- to 16-bit compression (see \fB-b\fR). 106 .SS "zcat" 107 .sp 108 .LP 109 The \fBzcat\fR utility writes to standard output the uncompressed form of files 110 that have been compressed using \fBcompress\fR. It is the equivalent of 111 \fBuncompress\fR\fB-c\fR. Input files are not affected. 112 .SH OPTIONS 113 .sp 114 .LP 115 The following options are supported: 116 .sp 117 .ne 2 118 .na 119 \fB\fB-b\fR \fIbits\fR\fR 120 .ad 121 .RS 11n 122 Sets the upper limit (in bits) for common substring codes. \fIbits\fR must be 123 between 9 and 16 (16 is the default). Lowering the number of bits result in 124 larger, less compressed files. 125 .RE 126 127 .sp 128 .ne 2 129 .na 130 \fB\fB-c\fR\fR 131 .ad 132 .RS 11n 133 Writes to the standard output; no files are changed and no \fB\&.Z\fR files are 134 created. The behavior of \fBzcat\fR is identical to that of `\fBuncompress\fR 135 \fB-c\fR'. 136 .RE 137 138 .sp 139 .ne 2 140 .na 141 \fB\fB-f\fR\fR 142 .ad 143 .RS 11n 144 When compressing, forces compression of \fIfile\fR, even if it does not 145 actually reduce the size of the file, or if the corresponding 146 \fIfile\fR\fB\&.Z\fR file already exists. 147 .sp 148 If the \fB-f\fR option is not specified, and the process is not running in the 149 background, prompts to verify whether an existing file should be overwritten. 150 If the response is affirmative, the existing file is overwritten. When 151 uncompressing, does not prompt for overwriting files. If the \fB-f\fR option is 152 not specified, and the process is not running in the background, prompts to 153 verify whether an existing file should be overwritten. If the standard input is 154 not a terminal and \fB-f\fR is not specified, writes a diagnostic message to 155 standard error and exits with a status greater than \fB0\fR. 156 .RE 157 158 .sp 159 .ne 2 160 .na 161 \fB\fB-v\fR\fR 162 .ad 163 .RS 11n 164 Verbose. Writes to standard error messages concerning the percentage reduction 165 or expansion of each file. 166 .RE 167 168 .sp 169 .ne 2 170 .na 171 \fB\fB-/\fR\fR 172 .ad 173 .RS 11n 174 When compressing or decompressing, copies any extended system attributes 175 associated with the source file to the target file and copies any extended 176 system attributes associated with extended attributes of the source file to the 177 corresponding extended attributes associated with the target file. If any 178 extended system attributes cannot be copied, the original file is retained, a 179 diagnostic is written to \fBstderr\fR, and the final exit status is 180 \fBnon-zero\fR. 181 .RE 182 183 .SH OPERANDS 184 .sp 185 .LP 186 The following operand is supported: 187 .sp 188 .ne 2 189 .na 190 \fB\fIfile\fR\fR 191 .ad 192 .RS 8n 193 A path name of a file to be compressed by \fBcompress\fR, uncompressed by 194 \fBuncompress\fR, or whose uncompressed form is written to standard out by 195 \fBzcat\fR. If \fIfile\fR is \fB\(mi\fR, or if no \fIfile\fR is specified, the 196 standard input is used. 197 .RE 198 199 .SH USAGE 200 .sp 201 .LP 202 See \fBlargefile\fR(5) for the description of the behavior of \fBcompress\fR, 203 \fBuncompress\fR, and \fBzcat\fR when encountering files greater than or equal 204 to 2 Gbyte ( 2^31 bytes). 205 .SH ENVIRONMENT VARIABLES 206 .sp 207 .LP 208 See \fBenviron\fR(5) for descriptions of the following environment variables 209 that affect the execution of \fBcompress\fR, \fBuncompress\fR, and \fBzcat\fR: 210 \fBLANG\fR, \fBLC_ALL\fR, \fBLC_COLLATE\fR, \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, 211 and \fBNLSPATH\fR. 212 .sp 213 .LP 214 Affirmative responses are processed using the extended regular expression 215 defined for the \fByesexpr\fR keyword in the \fBLC_MESSAGES\fR category of the 216 user's locale. The locale specified in the \fBLC_COLLATE\fR category defines 217 the behavior of ranges, equivalence classes, and multi-character collating 218 elements used in the expression defined for \fByesexpr\fR. The locale specified 219 in \fBLC_CTYPE\fR determines the locale for interpretation of sequences of 220 bytes of text data a characters, the behavior of character classes used in the 221 expression defined for the \fByesexpr\fR. See \fBlocale\fR(5). 222 .SH EXIT STATUS 223 .sp 224 .LP 225 The following error values are returned: 226 .sp 227 .ne 2 228 .na 229 \fB\fB0\fR\fR 230 .ad 231 .RS 6n 232 Successful completion. 233 .RE 234 235 .sp 236 .ne 2 237 .na 238 \fB\fB1\fR\fR 239 .ad 240 .RS 6n 241 An error occurred. 242 .RE 243 244 .sp 245 .ne 2 246 .na 247 \fB\fB2\fR\fR 248 .ad 249 .RS 6n 250 One or more files were not compressed because they would have increased in size 251 (and the \fB-f\fR option was not specified). 252 .RE 253 254 .sp 255 .ne 2 256 .na 257 \fB\fB>2\fR\fR 258 .ad 259 .RS 6n 260 An error occurred. 261 .RE 262 263 .SH ATTRIBUTES 264 .sp 265 .LP 266 See \fBattributes\fR(5) for descriptions of the following attributes: 267 .sp 268 269 .sp 270 .TS 271 box; 272 c | c 273 l | l . 274 ATTRIBUTE TYPE ATTRIBUTE VALUE 275 _ 276 CSI Enabled 277 _ 278 Interface Stability Committed 279 _ 280 Standard See \fBstandards\fR(5). 281 .TE 282 283 .SH SEE ALSO 284 .sp 285 .LP 286 \fBln\fR(1), \fBpack\fR(1), \fBfgetattr\fR(3C), \fBfsetattr\fR(3C), 287 \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5), \fBlocale\fR(5), 288 \fBstandards\fR(5) 289 .SH DIAGNOSTICS 290 .sp 291 .ne 2 292 .na 293 \fBUsage: \fBcompress [-fv/] [-b\fR \fIbits\fR] [\fIfile\fR\|.\|.\|. ]\fR 294 .ad 295 .br 296 .na 297 \fB\fBcompress c [-fv] [-b\fR \fIbits\fR] [\fIfile\fR\|.\|.\|. ]\fR 298 .ad 299 .sp .6 300 .RS 4n 301 Invalid options were specified on the command line. 302 .RE 303 304 .sp 305 .ne 2 306 .na 307 \fBUsage: \fBuncompress [-fv] [-c | -/] [\fR\fIfile\fR\fB]...\fR\fR 308 .ad 309 .sp .6 310 .RS 4n 311 Invalid options were specified on the command line. 312 .RE 313 314 .sp 315 .ne 2 316 .na 317 \fBMissing maxbits\fR 318 .ad 319 .sp .6 320 .RS 4n 321 Maxbits must follow \fB-b\fR, or invalid maxbits, not a numeric value. 322 .RE 323 324 .sp 325 .ne 2 326 .na 327 \fB\fIfile\fR: not in compressed format\fR 328 .ad 329 .sp .6 330 .RS 4n 331 The file specified to \fBuncompress\fR has not been compressed. 332 .RE 333 334 .sp 335 .ne 2 336 .na 337 \fB\fIfile\fR: compressed with \fIxx\fRbits, can only handle \fIyy\fRbits\fR 338 .ad 339 .sp .6 340 .RS 4n 341 \fBfile\fR was compressed by a program that could deal with more \fIbits\fR 342 than the compress code on this machine. Recompress the file with smaller 343 \fIbits\fR. 344 .RE 345 346 .sp 347 .ne 2 348 .na 349 \fB\fIfile\fR: already has .\|Z suffix -- no change\fR 350 .ad 351 .sp .6 352 .RS 4n 353 The file is assumed to be already compressed. Rename the file and try again. 354 .RE 355 356 .sp 357 .ne 2 358 .na 359 \fB\fIfile\fR: already exists; do you wish to overwrite (y or n)?\fR 360 .ad 361 .sp .6 362 .RS 4n 363 Respond \fBy\fR if you want the output file to be replaced; \fBn\fR if not. 364 .RE 365 366 .sp 367 .ne 2 368 .na 369 \fBuncompress: corrupt input\fR 370 .ad 371 .sp .6 372 .RS 4n 373 A \fBSIGSEGV\fR violation was detected, which usually means that the input file 374 is corrupted. 375 .RE 376 377 .sp 378 .ne 2 379 .na 380 \fBCompression:\fIxx.xx\fR\fB%\fR\fR 381 .ad 382 .sp .6 383 .RS 4n 384 Percentage of the input saved by compression. (Relevant only for \fB-v\fR.) 385 .RE 386 387 .sp 388 .ne 2 389 .na 390 \fB- - not a regular file: unchanged\fR 391 .ad 392 .sp .6 393 .RS 4n 394 When the input file is not a regular file, (such as a directory), it is left 395 unaltered. 396 .RE 397 398 .sp 399 .ne 2 400 .na 401 \fB- - has \fIxx\fR other links: unchanged\fR 402 .ad 403 .sp .6 404 .RS 4n 405 The input file has links; it is left unchanged. See \fBln\fR(1) for more 406 information. 407 .RE 408 409 .sp 410 .ne 2 411 .na 412 \fB- - file unchanged\fR 413 .ad 414 .sp .6 415 .RS 4n 416 No savings are achieved by compression. The input remains uncompressed. 417 .RE 418 419 .sp 420 .ne 2 421 .na 422 \fB- -filename too long to tack on .Z\fR 423 .ad 424 .sp .6 425 .RS 4n 426 The path name is too long to append the \fB\&.Z\fR suffix. 427 .RE 428 429 .sp 430 .ne 2 431 .na 432 \fB- -cannot preserve extended attributes. file unchanged\fR 433 .ad 434 .sp .6 435 .RS 4n 436 Extended system attributes could not be copied. 437 .RE 438 439 .SH NOTES 440 .sp 441 .LP 442 Although compressed files are compatible between machines with large memory, 443 \fB-b\fR 12 should be used for file transfer to architectures with a small 444 process data space (64KB or less). 445 .sp 446 .LP 447 \fBcompress\fR should be more flexible about the existence of the \fB\&.\|Z\fR 448 suffix.