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