Go to main content
マニュアルページ セク ション 1: ユー ザーコマンド

印刷ビューの終了

更新: 2016年12月6日
 
 

pcat(1)

名前

pack, pcat, unpack - ファイルの圧縮および復元

形式

pack [-f/] [-] file...
pcat file...
unpack [-/] file...

説明

pack

pack コマンドは、指定されたファイルを圧縮した形で保存します。可能であれば (そして便利ならば)、file という入力ファイルは、file と同じアクセスモード、同じアクセスの日付や変更した日付、同じ所有者を持つ file.z という圧縮されたファイルに置き換えられます。pack の実行が正常に終了すると、file は削除されます。

圧縮の総量は、入力ファイルのサイズおよび文字度数分布によります。デコード用ツリーがそれぞれの .z ファイルの最初の部分を形成しているので、3 ブロック未満のファイルを圧縮することは、あまり意味がありません。ただし、プリンタプロットや図形の場合に起こるように、文字度数分布が非常に偏っているものは例外です。

一般的にテキストファイルを元のサイズの 60% から 75% に圧縮します。大きい文字セットを使用し、文字分布が一様なロードモジュールは、元のサイズのおよそ 90% にしか圧縮されません。

pack ユーティリティーは、圧縮できなかったファイルの数を示す値を返します。この数値が 255 を超えた場合は、255 が返されます。

次の場合は、圧縮が発生しません。

  • ファイルがすでに圧縮されている場合

  • ファイル名が長すぎて、接尾辞 .z を付加できない場合

  • ファイルにリンクがある場合

  • ファイルがディレクトリの場合

  • ファイルをオープンできない場合

  • ファイルが空の場合

  • 圧縮によってディスクブロックを減らせない場合

  • file.z というファイルがすでに存在している場合

  • .z ファイルを作成することができない場合

  • 処理中に、入出力エラーが発生した場合

ファイル名の最後のセグメントは、.z 拡張子を付加する余裕を確保するために十分に短くする必要があります。ディレクトリは圧縮できません。

pcat

pcat コマンドは、cat(1) が通常ファイルに対して行うことを、圧縮したファイルに対して行います。ただし pcat をフィルタとして使うことはできません。指定したファイルは、復元され、標準出力に書き込まれます。

pcat は、復元できなかったファイルの数を返します。次の場合にはエラーとなります。

  • ファイルがオープンできなかった

  • ファイルが、pack の出力ファイルと認識できなかった

unpack

unpack コマンドは、pack で作成したファイルを復元します。コマンドで指定したファイル file に対して、file.z というファイル (あるいは file.z で終わる場合は単に file) を検索します。このファイルが圧縮されたファイルである場合は、復元したファイルに置き換えます。新たなファイル名は .z 接頭辞が取り除かれ、アクセスモード、アクセス日付や変更日付および所有者名は圧縮されたファイルと同じです。

unpack は、復元できなかったファイルの数を示す値を返します。pcat で述べた理由のほかに、次のような場合には復元できません。

  • 復元されたときのファイル名がすでに存在する場合

  • 復元したファイルを作成できない場合

オプション

pack では次のオプションがサポートされています。

–f

file の強制圧縮。ディレクトリ全体を圧縮するのに有効です。ただし、中には圧縮しても小さくならないファイルがあります。unpack または pcat は、圧縮したファイルを元の形式に復元できます。

pack および unpack では次のオプションがサポートされています。

–/

圧縮または復元時に、ソースファイルに関連付けられた ACL および拡張システム属性がターゲットファイルにコピーされます。ACL または拡張システム属性をコピーできない場合は、元のファイルが保持され、診断メッセージが標準エラー出力に書き込まれ、最終的な終了ステータスがゼロ以外になります。

オペランド

次のオペランドがサポートされています。

file

pack、unpack、または pcat するファイルのパス名。file には拡張子 .z を指定しても省略してもかまいません。

-

pack は、1 バイトごとに Huffman (最小冗長度) コードを使用します。 引数を使用すると、それぞれのバイトの使用回数、相対頻度およびバイトのコードを標準出力に出力するように内部フラグが設定されます。file の代わりに - を追加すると、内部フラグを設定し、リセットします。

使用法

ファイルが 2G バイト (231 バイト) 以上ある場合の packpcatunpack の動作については、largefile(5) を参照してください。

使用例 1 圧縮ファイルを表示する

file.z という名前の圧縮ファイルを見るには、次のようにします。

example% pcat file.z

あるいは、単に次のようにします。

example% pcat file

使用例 2 圧縮ファイルの復元コピーを作成する

file.z という名前の圧縮ファイルの復元コピー nnnfile.z を破壊せずに作成するには、次を使用します。

example% pcat file >nnn

環境変数

packpcat、および unpack の実行に影響を与える次の環境変数についての詳細は、environ(5) を参照してください。LC_CTYPE、LC_MESSAGES、および NLSPATH。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

>0

エラーが発生した。圧縮または復元できなかったファイルの数が返される。失敗の数が 255 を超えた場合は、255 が返されます。

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os
CSI
有効

関連項目

cat(1), compress(1), zcat(1), fgetattr(3C), fsetattr(3C)attributes(5), environ(5), largefile(5)

このコマンドは廃止されており、Oracle Solaris の将来のリリースで削除される可能性があります。