[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
gzip
は Lempel-Ziv コーディング (LZ77) を使って指名されたファイル
の大きさを減らします。可能であれば、各ファイルは、所有モードやアクセス時
刻、修正時刻を同じに保ったまま、`.gz' という拡張子を付けたもので置
き換えられます。(デフォルトの拡張子は VMS では `-gz' で、MSDOS や
OS/2 FAT、Atari では `z' です。) もし何もファイルが指定されなかった
り、ファイル名が "-" だったりすると、標準入力が圧縮されて標準出力に出さ
れます。gzip
は通常のファイルを圧縮しようとするだけでしょう。とり
わけ、シンボリック・リンクは無視するでしょう。
もし新しいファイル名がそのファイルシステムには長過ぎるなら、gzip
はそれを切り捨てます。gzip
はファイル名のうち3文字よりも長い部分
だけを切り捨てようとします。(部分はドットで区切られています。) もしその
名前が小さい部分だけから成り立っていたら、一番長い部分が切り捨てられます。
例えば、ファイル名が14文字に限定されていたら、gzip.msdos.exe は
gzi.msd.exe.gz に圧縮されます。名前はファイル名の長さに限界のないシステ
ムでは切り捨てられません。
デフォルトで、gzip
は元のファイル名やタイムスタンプを圧縮されたファ
イルに保存します。これらは `-N' オプションを付けて、そのファイルを
解凍するときに使われます。これは圧縮されたファイルの名前が切り捨てられい
たり、そのタイムスタンプがファイルの転送後に保存されなかったときに有効で
す。
圧縮されたファイルは、`gzip -d' や gunzip
か zcat
を
使って、元の姿に戻すことができます。もし圧縮されたファイルに収められてい
た元の名前が、そのファイルシステムには適していなかった場合、適合させるた
めに、その元の名前から新しい名前が組み立てられます。
gunzip
はそのコマンド行でファイルのリストを受け取り、`.gz'
や `.z'、`.Z'、`-gz'、`-z'、`_z' で終わる名前を
持ち、正しいマジックナンバーで始まる各ファイルを、その元の拡張子を持たな
い、解凍されたファイルで置き換えます。gunzip
はまた、特別な拡張子、
`.tgz' や `.taz' をそれぞれ `.tar.gz' と `.tar.Z' の
略記であると認識します。圧縮するとき、gzip
は `.tar' 拡張子
を持つファイルを切り捨てる代わりに、もし必要であれば、 `.tgz' 拡張
子を使用します。
gunzip
は現在 gzip
、zip
、compress
、
あるいは、pack
で作られたファイルを解凍することができます。入力形
式の検出は自動的です。最初の二つの形式を使っているとき、gunzip
は
32ビット CRC (cyclic redundancy check) を確認します。pack
に対し
ては、gunzip
は圧縮されていないときの長さを確認します。
compress
形式は一貫性を確認できるようには設計されませんでした。し
かし、gunzip
はときどき悪い `.Z' ファイルを検出することがで
きます。もし `.Z' ファイルを解凍しているときにエラーを受け取ったな
ら、標準的な uncompress
が文句を言わないからといって、その
`.Z' ファイルが正しいと思ってはいけません。このことは一般的に、標準
的な uncompress
はその入力を確認せず、幸福そうにゴミの出力を生成
してくれることを意味しています。SCO の `compress-H' 形式
(lzh
圧縮手法) は CRC を含んでいませんが、いくつかの一貫性の確認
をできるようにしています。
zip
で作成されたファイルは gzip
で解凍できますが、'
deflation' 手法で圧縮された、単一の要素しかない場合だけです。この特徴は
tar.zip
ファイルを tar.gz
形式に変換するのを助けることだけ
を目的にします。いくつかの要素を持つ zip
ファイルを抜き出すには、
gunzip
ではなく unzip
を使ってください。
zcat
は `gunzip -c' と同じです。zcat
はコマンド行のファ
イルのリストか標準入力を解凍して、解凍されたデータを標準出力に書き出しま
す。zcat
は `.gz' 接尾辞とは無関係に、正しいマジックナンバー
を持つファイルを解凍するでしょう。
gzip
は zip
や PKZIP で使われている Lempel-Ziv アルゴリズ
ムを利用します。得られる圧縮量は入力の大きさやありふれた部分文字列の分布
に依存しています。典型的には、ソース・コードや英語のようなテキストは 60
から 70% 減少します。一般的に、LZW (compress
で使われている) や、
Huffman コーディング (pack
で使われている)、adaptive Huffman コー
ディング (compact
) で達成されるよりも、ずっと良い圧縮です。
たとえ圧縮されたファイルが若干元よりも大きくなっても、圧縮は常に行われま
す。最悪の場合の膨張は、gzip
のファイル・ヘッダに対して数バイトと、
各 32K ブロック毎に 5 バイト、あるいは、大きなファイルでは 0.015% の膨張
率です。実際に使われるディスク・ブロックの数はほとんど絶対に増えないこと
に注意してください。gzip
は圧縮したり解凍したりするとき、ファイル
のモードや所有権、タイムスタンプを保存します。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |