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) 1996, Sun Microsystems, Inc. All Rights Reserved
46 .\"
47 .TH PACK 1 "Mar 13, 2008"
48 .SH NAME
49 pack, pcat, unpack \- compress and expand files
50 .SH SYNOPSIS
51 .LP
52 .nf
53 \fBpack\fR [\fB-f/\fR] [\fB-\fR] \fIfile\fR...
54 .fi
55
56 .LP
57 .nf
58 \fBpcat\fR \fIfile\fR...
59 .fi
60
61 .LP
62 .nf
63 \fBunpack\fR [\fB-/\fR] \fIfile\fR...
64 .fi
65
66 .SH DESCRIPTION
67 .SS "pack"
68 .sp
69 .LP
70 The \fBpack\fR command attempts to store the specified files in a compressed
71 form. Wherever possible (and useful), each input file \fBfile\fR is replaced by
72 a packed file \fBfile\fR\fB\&.z\fR with the same access modes, access and
73 modified dates, and owner as those of \fBfile\fR. If \fBpack\fR is successful,
74 \fBfile\fR is removed.
75 .sp
76 .LP
77 The amount of compression obtained depends on the size of the input file and
78 the character frequency distribution. Because a decoding tree forms the first
79 part of each \fB\&.z\fR file, it is usually not worthwhile to pack files
80 smaller than three blocks, unless the character frequency distribution is very
81 skewed, which can occur with printer plots or pictures.
82 .sp
83 .LP
84 Typically, text files are reduced to 60-75% of their original size. Load
85 modules, which use a larger character set and have a more uniform distribution
86 of characters, show little compression, the packed versions being about 90% of
87 the original size.
88 .sp
89 .LP
138 .TP
139 .ie t \(bu
140 .el o
141 a file called \fBfile\fR\fB\&.z\fR already exists
142 .RE
143 .RS +4
144 .TP
145 .ie t \(bu
146 .el o
147 the \fB\&.z\fR file cannot be created
148 .RE
149 .RS +4
150 .TP
151 .ie t \(bu
152 .el o
153 an I/O error occurred during processing.
154 .RE
155 .sp
156 .LP
157 The last segment of the file name must be short enough to allow space for the
158 appended \fB\&.z\fRextension. Directories cannot be compressed.
159 .SS "pcat"
160 .sp
161 .LP
162 The \fBpcat\fR command does for packed files what \fBcat\fR(1) does for
163 ordinary files, except that \fBpcat\fR cannot be used as a filter. The
164 specified files are unpacked and written to the standard output.
165 .sp
166 .LP
167 \fBpcat\fR returns the number of files it was unable to unpack. Failure can
168 occur if:
169 .RS +4
170 .TP
171 .ie t \(bu
172 .el o
173 the file cannot be opened;
174 .RE
175 .RS +4
176 .TP
177 .ie t \(bu
178 .el o
179 the file does not appear to be the output of \fBpack\fR.
180 .RE
181 .SS "unpack"
182 .sp
183 .LP
184 The \fBunpack\fR command expands files created by \fBpack\fR. For each
185 \fBfile\fR specified in the command, a search is made for a file called
186 \fBfile\fR\fB\&.z\fR (or just \fBfile\fR, if \fBfile\fR ends in \fB\&.z\fR). If
187 this file appears to be a packed file, it is replaced by its expanded version.
188 The new file has the \fB\&.z\fR suffix stripped from its name, and has the same
189 access modes, access and modification dates, and owner as those of the packed
190 file.
191 .sp
192 .LP
193 \fBunpack\fR returns a value that is the number of files it was unable to
194 unpack. Failure can occur for the same reasons that it can in \fBpcat\fR, as
195 well as for the following:
196 .RS +4
197 .TP
198 .ie t \(bu
199 .el o
200 a file with the unpacked name already exists;
201 .RE
202 .RS +4
203 .TP
204 .ie t \(bu
205 .el o
206 the unpacked file cannot be created.
207 .RE
208 .SH OPTIONS
209 .sp
210 .LP
211 The following options are supported by \fBpack\fR:
212 .sp
213 .ne 2
214 .na
215 \fB\fB-f\fR\fR
216 .ad
217 .RS 6n
218 Forces packing of \fBfile\fR. This is useful for causing an entire directory to
219 be packed even if some of the files do not benefit. Packed files can be
220 restored to their original form using \fBunpack\fR or \fBpcat\fR.
221 .RE
222
223 .sp
224 .LP
225 The following options are supported by \fBpack\fR and \fBunpack\fR:
226 .sp
227 .ne 2
228 .na
229 \fB\fB-/\fR\fR
230 .ad
231 .RS 6n
232 When packing or unpacking, copies any ACL and extended system attributes
233 associated with the source file to the target file. If an ACL or extended
234 system attributes cannot be copied, the original file is retained, a diagnostic
235 message is written to \fBstderr\fR, and the final exit status is
236 \fBnon-zero\fR.
237 .RE
238
239 .SH OPERANDS
240 .sp
241 .LP
242 The following operands are supported:
243 .sp
244 .ne 2
245 .na
246 \fB\fBfile\fR\fR
247 .ad
248 .RS 8n
249 A path name of a file to be packed, unpacked, or pcated; \fBfile\fR can include
250 or omit the \fB\&.z\fR suffix.
251 .RE
252
253 .sp
254 .ne 2
255 .na
256 \fB\fB\(mi\fR\fR
257 .ad
258 .RS 8n
259 \fBpack\fR uses Huffman (minimum redundancy) codes on a byte-by-byte basis. If
260 the \fB\(mi\fR argument is used, an internal flag is set that causes the number
261 of times each byte is used, its relative frequency, and the code for the byte
262 to be printed on the standard output. Additional occurrences of \fB\(mi\fR in
263 place of \fBfile\fR causes the internal flag to be set and reset.
264 .RE
265
266 .SH USAGE
267 .sp
268 .LP
269 See \fBlargefile\fR(5) for the description of the behavior of \fBpack\fR,
270 \fBpcat\fR, and \fBunpack\fR when encountering files greater than or equal to 2
271 Gbyte ( 2^31 bytes).
272 .SH EXAMPLES
273 .LP
274 \fBExample 1 \fRViewing a Packed File
275 .sp
276 .LP
277 To view a packed file named \fBfile.z\fR use:
278
279 .sp
280 .LP
281 \fBexample%\fR \fBpcat\fR \fBfile.z\fR
282
283 .sp
284 .LP
285 or just:
286
287 .sp
288 .LP
289 \fBexample%\fR \fBpcat\fR \fBfile\fR
290
291 .LP
292 \fBExample 2 \fRMaking and Unpacked Copy:
293 .sp
294 .LP
295 To make an unpacked copy, say \fBnnn\fR, of a packed file named \fBfile.z\fR
296 (without destroying \fBfile.z\fR) use the command:
297
298 .sp
299 .LP
300 \fBexample%\fR \fBpcat\fR \fBfile\fR \fB>nnn\fR
301
302 .SH ENVIRONMENT VARIABLES
303 .sp
304 .LP
305 See \fBenviron\fR(5) for descriptions of the following environment variables
306 that affect the execution of \fBpack\fR, \fBpcat\fR, and \fBunpack\fR:
307 \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
308 .SH EXIT STATUS
309 .sp
310 .LP
311 The following exit values are returned:
312 .sp
313 .ne 2
314 .na
315 \fB\fB0\fR\fR
316 .ad
317 .RS 6n
318 Successful completion.
319 .RE
320
321 .sp
322 .ne 2
323 .na
324 \fB\fB>0\fR\fR
325 .ad
326 .RS 6n
327 An error occurred. The number of files the command failed to pack/unpack is
328 returned. If the number of failures exceeds \fB255\fR, then \fB255\fR is
329 returned.
330 .RE
331
332 .SH ATTRIBUTES
333 .sp
334 .LP
335 See \fBattributes\fR(5) for descriptions of the following attributes:
336 .sp
337
338 .sp
339 .TS
340 box;
341 c | c
342 l | l .
343 ATTRIBUTE TYPE ATTRIBUTE VALUE
344 _
345 CSI Enabled
346 .TE
347
348 .SH SEE ALSO
349 .sp
350 .LP
351 \fBcat\fR(1), \fBcompress\fR(1), \fBzcat\fR(1), \fBfgetattr\fR(3C),
352 \fBfsetattr\fR(3C), \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5)
|
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) 1996, Sun Microsystems, Inc. All Rights Reserved
46 .\"
47 .TH PACK 1 "Feb 5, 2020"
48 .SH NAME
49 pack, pcat, unpack \- compress and expand files
50 .SH SYNOPSIS
51 .nf
52 \fBpack\fR [\fB-f/\fR] [\fB-\fR] \fIfile\fR...
53 .fi
54
55 .LP
56 .nf
57 \fBpcat\fR \fIfile\fR...
58 .fi
59
60 .LP
61 .nf
62 \fBunpack\fR [\fB-/\fR] \fIfile\fR...
63 .fi
64
65 .SH DESCRIPTION
66 .SS "pack"
67 The \fBpack\fR command attempts to store the specified files in a compressed
68 form. Wherever possible (and useful), each input file \fBfile\fR is replaced by
69 a packed file \fBfile\fR\fB\&.z\fR with the same access modes, access and
70 modified dates, and owner as those of \fBfile\fR. If \fBpack\fR is successful,
71 \fBfile\fR is removed.
72 .sp
73 .LP
74 The amount of compression obtained depends on the size of the input file and
75 the character frequency distribution. Because a decoding tree forms the first
76 part of each \fB\&.z\fR file, it is usually not worthwhile to pack files
77 smaller than three blocks, unless the character frequency distribution is very
78 skewed, which can occur with printer plots or pictures.
79 .sp
80 .LP
81 Typically, text files are reduced to 60-75% of their original size. Load
82 modules, which use a larger character set and have a more uniform distribution
83 of characters, show little compression, the packed versions being about 90% of
84 the original size.
85 .sp
86 .LP
135 .TP
136 .ie t \(bu
137 .el o
138 a file called \fBfile\fR\fB\&.z\fR already exists
139 .RE
140 .RS +4
141 .TP
142 .ie t \(bu
143 .el o
144 the \fB\&.z\fR file cannot be created
145 .RE
146 .RS +4
147 .TP
148 .ie t \(bu
149 .el o
150 an I/O error occurred during processing.
151 .RE
152 .sp
153 .LP
154 The last segment of the file name must be short enough to allow space for the
155 appended \fB\&.z\fR extension. Directories cannot be compressed.
156 .SS "pcat"
157 The \fBpcat\fR command does for packed files what \fBcat\fR(1) does for
158 ordinary files, except that \fBpcat\fR cannot be used as a filter. The
159 specified files are unpacked and written to the standard output.
160 .sp
161 .LP
162 \fBpcat\fR returns the number of files it was unable to unpack. Failure can
163 occur if:
164 .RS +4
165 .TP
166 .ie t \(bu
167 .el o
168 the file cannot be opened;
169 .RE
170 .RS +4
171 .TP
172 .ie t \(bu
173 .el o
174 the file does not appear to be the output of \fBpack\fR.
175 .RE
176 .SS "unpack"
177 The \fBunpack\fR command expands files created by \fBpack\fR. For each
178 \fBfile\fR specified in the command, a search is made for a file called
179 \fBfile\fR\fB\&.z\fR (or just \fBfile\fR, if \fBfile\fR ends in \fB\&.z\fR). If
180 this file appears to be a packed file, it is replaced by its expanded version.
181 The new file has the \fB\&.z\fR suffix stripped from its name, and has the same
182 access modes, access and modification dates, and owner as those of the packed
183 file.
184 .sp
185 .LP
186 \fBunpack\fR returns a value that is the number of files it was unable to
187 unpack. Failure can occur for the same reasons that it can in \fBpcat\fR, as
188 well as for the following:
189 .RS +4
190 .TP
191 .ie t \(bu
192 .el o
193 a file with the unpacked name already exists;
194 .RE
195 .RS +4
196 .TP
197 .ie t \(bu
198 .el o
199 the unpacked file cannot be created.
200 .RE
201 .SH OPTIONS
202 The following options are supported by \fBpack\fR:
203 .sp
204 .ne 2
205 .na
206 \fB\fB-f\fR\fR
207 .ad
208 .RS 6n
209 Forces packing of \fBfile\fR. This is useful for causing an entire directory to
210 be packed even if some of the files do not benefit. Packed files can be
211 restored to their original form using \fBunpack\fR or \fBpcat\fR.
212 .RE
213
214 .sp
215 .LP
216 The following options are supported by \fBpack\fR and \fBunpack\fR:
217 .sp
218 .ne 2
219 .na
220 \fB\fB-/\fR\fR
221 .ad
222 .RS 6n
223 When packing or unpacking, copies any ACL and extended system attributes
224 associated with the source file to the target file. If an ACL or extended
225 system attributes cannot be copied, the original file is retained, a diagnostic
226 message is written to \fBstderr\fR, and the final exit status is
227 \fBnon-zero\fR.
228 .RE
229
230 .SH OPERANDS
231 The following operands are supported:
232 .sp
233 .ne 2
234 .na
235 \fB\fBfile\fR\fR
236 .ad
237 .RS 8n
238 A path name of a file to be packed, unpacked, or pcated; \fBfile\fR can include
239 or omit the \fB\&.z\fR suffix.
240 .RE
241
242 .sp
243 .ne 2
244 .na
245 \fB\fB\(mi\fR\fR
246 .ad
247 .RS 8n
248 \fBpack\fR uses Huffman (minimum redundancy) codes on a byte-by-byte basis. If
249 the \fB\(mi\fR argument is used, an internal flag is set that causes the number
250 of times each byte is used, its relative frequency, and the code for the byte
251 to be printed on the standard output. Additional occurrences of \fB\(mi\fR in
252 place of \fBfile\fR causes the internal flag to be set and reset.
253 .RE
254
255 .SH USAGE
256 See \fBlargefile\fR(5) for the description of the behavior of \fBpack\fR,
257 \fBpcat\fR, and \fBunpack\fR when encountering files greater than or equal to 2
258 Gbyte (2^31 bytes).
259 .SH EXAMPLES
260 \fBExample 1 \fRViewing a Packed File
261 .sp
262 .LP
263 To view a packed file named \fBfile.z\fR use:
264
265 .sp
266 .LP
267 \fBexample%\fR \fBpcat\fR \fBfile.z\fR
268
269 .sp
270 .LP
271 or just:
272
273 .sp
274 .LP
275 \fBexample%\fR \fBpcat\fR \fBfile\fR
276
277 .LP
278 \fBExample 2 \fRMaking an Unpacked Copy:
279 .sp
280 .LP
281 To make an unpacked copy, say \fBnnn\fR, of a packed file named \fBfile.z\fR
282 (without destroying \fBfile.z\fR) use the command:
283
284 .sp
285 .LP
286 \fBexample%\fR \fBpcat\fR \fBfile\fR \fB>nnn\fR
287
288 .SH ENVIRONMENT VARIABLES
289 See \fBenviron\fR(5) for descriptions of the following environment variables
290 that affect the execution of \fBpack\fR, \fBpcat\fR, and \fBunpack\fR:
291 \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, and \fBNLSPATH\fR.
292 .SH EXIT STATUS
293 The following exit values are returned:
294 .sp
295 .ne 2
296 .na
297 \fB\fB0\fR\fR
298 .ad
299 .RS 6n
300 Successful completion.
301 .RE
302
303 .sp
304 .ne 2
305 .na
306 \fB\fB>0\fR\fR
307 .ad
308 .RS 6n
309 An error occurred. The number of files the command failed to pack/unpack is
310 returned. If the number of failures exceeds \fB255\fR, then \fB255\fR is
311 returned.
312 .RE
313
314 .SH ATTRIBUTES
315 See \fBattributes\fR(5) for descriptions of the following attributes:
316 .sp
317
318 .sp
319 .TS
320 box;
321 c | c
322 l | l .
323 ATTRIBUTE TYPE ATTRIBUTE VALUE
324 _
325 CSI Enabled
326 .TE
327
328 .SH SEE ALSO
329 \fBcat\fR(1), \fBcompress\fR(1), \fBzcat\fR(1), \fBfgetattr\fR(3C),
330 \fBfsetattr\fR(3C), \fBattributes\fR(5), \fBenviron\fR(5), \fBlargefile\fR(5)
|