File:  [Local Repository] / gnujdoc / gzip-1.2.4 / gzip-ja.texi
Revision 1.1: download - view: text, annotated - select for diffs
Fri Nov 12 02:34:04 1999 UTC (20 years, 10 months ago) by okuji
Branches: MAIN
CVS tags: HEAD
add gzip-1.2.4.

    1: \input texinfo @c -*-texinfo-*-
    2: @c %**start of header
    3: @setfilename gzip-ja.info
    4: @settitle Gzip User's Manual
    5: @finalout
    6: @setchapternewpage odd
    7: @c %**end of header
    8: 
    9: @ifinfo
   10: This file documents the the GNU @code{gzip} command for compressing files.
   11: 
   12: Copyright (C) 1992-1993 Jean-loup Gailly
   13: 
   14: Permission is granted to make and distribute verbatim copies of
   15: this manual provided the copyright notice and this permission notice
   16: are preserved on all copies.
   17: 
   18: @ignore
   19: Permission is granted to process this file through TeX and print the
   20: results, provided the printed document carries copying permission
   21: notice identical to this one except for the removal of this paragraph
   22: (this paragraph not being relevant to the printed manual).
   23: 
   24: @end ignore
   25: Permission is granted to copy and distribute modified versions of this
   26: manual under the conditions for verbatim copying, provided that the entire
   27: resulting derived work is distributed under the terms of a permission
   28: notice identical to this one.
   29: 
   30: Permission is granted to copy and distribute translations of this manual
   31: into another language, under the above conditions for modified versions,
   32: except that this permission notice may be stated in a translation approved
   33: by the Foundation.
   34: @end ifinfo
   35: 
   36: @titlepage
   37: @title gzip
   38: @subtitle データ圧縮プログラム
   39: @subtitle Edition 1.2.4, for Gzip Version 1.2.4
   40: @subtitle July 1993
   41: @author Jean-loup Gailly 著
   42: @author OKUJI Yoshinori 訳
   43: 
   44: @page
   45: @vskip 0pt plus 1filll
   46: Copyright @copyright{} 1992-1993 Jean-loup Gailly
   47: 
   48: Permission is granted to make and distribute verbatim copies of
   49: this manual provided the copyright notice and this permission notice
   50: are preserved on all copies.
   51: 
   52: Permission is granted to copy and distribute modified versions of this
   53: manual under the conditions for verbatim copying, provided that the entire
   54: resulting derived work is distributed under the terms of a permission
   55: notice identical to this one.
   56: 
   57: Permission is granted to copy and distribute translations of this manual
   58: into another language, under the above conditions for modified versions,
   59: except that this permission notice may be stated in a translation approved
   60: by the Foundation.
   61: @end titlepage
   62: 
   63: @node Top, , , (dir)
   64: 
   65: @ifinfo
   66: このファイルはファイルを圧縮するための @code{gzip} コマンドを解説してい
   67: ます。
   68: @end ifinfo
   69: 
   70: @menu
   71: * 複製::                どのように@code{gzip} を複製したり共有できるのか。
   72: * 概観::                準備的な情報。
   73: * 見本::                @code{gzip} からの出力の見本。
   74: * gzipの起動::          @code{gzip} の走らせ方。
   75: * 高度な使い方::        連結されたファイル。
   76: * 環境::                @code{GZIP} 環境変数
   77: * テープ::              @code{gzip} をテープで使う。
   78: * 問題::                バグの報告。
   79: * 概念による索引::      概念の索引。
   80: @end menu
   81: 
   82: @node 複製, 概観, , Top
   83: @include gpl.texinfo
   84: 
   85: @node 概観, 見本, 複製, Top
   86: @chapter 概観
   87: @cindex 概観
   88: 
   89: @code{gzip} は Lempel-Ziv コーディング (LZ77) を使って指名されたファイル
   90: の大きさを減らします。可能であれば、各ファイルは、所有モードやアクセス時
   91: 刻、修正時刻を同じに保ったまま、@samp{.gz} という拡張子を付けたもので置
   92: き換えられます。(デフォルトの拡張子は VMS では @samp{-gz} で、MSDOS や
   93: OS/2 FAT、Atari では @samp{z} です。) もし何もファイルが指定されなかった
   94: り、ファイル名が "-" だったりすると、標準入力が圧縮されて標準出力に出さ
   95: れます。@code{gzip} は通常のファイルを圧縮しようとするだけでしょう。とり
   96: わけ、シンボリック・リンクは無視するでしょう。
   97: 
   98: もし新しいファイル名がそのファイルシステムには長過ぎるなら、@code{gzip}
   99: はそれを切り捨てます。@code{gzip} はファイル名のうち3文字よりも長い部分
  100: だけを切り捨てようとします。(部分はドットで区切られています。) もしその
  101: 名前が小さい部分だけから成り立っていたら、一番長い部分が切り捨てられます。
  102: 例えば、ファイル名が14文字に限定されていたら、gzip.msdos.exe は
  103: gzi.msd.exe.gz に圧縮されます。名前はファイル名の長さに限界のないシステ
  104: ムでは切り捨てられません。
  105: 
  106: デフォルトで、@code{gzip} は元のファイル名やタイムスタンプを圧縮されたファ
  107: イルに保存します。これらは @samp{-N} オプションを付けて、そのファイルを
  108: 解凍するときに使われます。これは圧縮されたファイルの名前が切り捨てられい
  109: たり、そのタイムスタンプがファイルの転送後に保存されなかったときに有効で
  110: す。
  111: 
  112: 圧縮されたファイルは、@samp{gzip -d} や @code{gunzip} か @code{zcat} を
  113: 使って、元の姿に戻すことができます。もし圧縮されたファイルに収められてい
  114: た元の名前が、そのファイルシステムには適していなかった場合、適合させるた
  115: めに、その元の名前から新しい名前が組み立てられます。
  116: 
  117: @code{gunzip} はそのコマンド行でファイルのリストを受け取り、@samp{.gz}
  118: や @samp{.z}、@samp{.Z}、@samp{-gz}、@samp{-z}、@samp{_z} で終わる名前を
  119: 持ち、正しいマジックナンバーで始まる各ファイルを、その元の拡張子を持たな
  120: い、解凍されたファイルで置き換えます。@code{gunzip} はまた、特別な拡張子、
  121: @samp{.tgz} や @samp{.taz} をそれぞれ @samp{.tar.gz} と @samp{.tar.Z} の
  122: 略記であると認識します。圧縮するとき、@code{gzip} は @samp{.tar} 拡張子
  123: を持つファイルを切り捨てる代わりに、もし必要であれば、 @samp{.tgz} 拡張
  124: 子を使用します。
  125: 
  126: @code{gunzip} は現在 @code{gzip}、@code{zip}、@code{compress}、
  127: あるいは、@code{pack} で作られたファイルを解凍することができます。入力形
  128: 式の検出は自動的です。最初の二つの形式を使っているとき、@code{gunzip} は
  129: 32ビット CRC (cyclic redundancy check) を確認します。@code{pack} に対し
  130: ては、@code{gunzip} は圧縮されていないときの長さを確認します。
  131: @code{compress} 形式は一貫性を確認できるようには設計されませんでした。し
  132: かし、@code{gunzip} はときどき悪い @samp{.Z} ファイルを検出することがで
  133: きます。もし @samp{.Z} ファイルを解凍しているときにエラーを受け取ったな
  134: ら、標準的な @code{uncompress} が文句を言わないからといって、その
  135: @samp{.Z} ファイルが正しいと思ってはいけません。このことは一般的に、標準
  136: 的な @code{uncompress} はその入力を確認せず、幸福そうにゴミの出力を生成
  137: してくれることを意味しています。SCO の @samp{compress-H} 形式
  138: (@code{lzh} 圧縮手法) は CRC を含んでいませんが、いくつかの一貫性の確認
  139: をできるようにしています。
  140: 
  141: @code{zip} で作成されたファイルは @code{gzip} で解凍できますが、'
  142: deflation' 手法で圧縮された、単一の要素しかない場合だけです。この特徴は
  143: @code{tar.zip} ファイルを @code{tar.gz} 形式に変換するのを助けることだけ
  144: を目的にします。いくつかの要素を持つ @code{zip} ファイルを抜き出すには、
  145: @code{gunzip} ではなく @code{unzip} を使ってください。
  146: 
  147: @code{zcat} は @samp{gunzip -c} と同じです。@code{zcat} はコマンド行のファ
  148: イルのリストか標準入力を解凍して、解凍されたデータを標準出力に書き出しま
  149: す。@code{zcat} は @samp{.gz} 接尾辞とは無関係に、正しいマジックナンバー
  150: を持つファイルを解凍するでしょう。
  151: 
  152: @code{gzip} は @code{zip} や PKZIP で使われている Lempel-Ziv アルゴリズ
  153: ムを利用します。得られる圧縮量は入力の大きさやありふれた部分文字列の分布
  154: に依存しています。典型的には、ソース・コードや英語のようなテキストは 60
  155: から 70% 減少します。一般的に、LZW (@code{compress} で使われている) や、
  156: Huffman コーディング (@code{pack} で使われている)、adaptive Huffman コー
  157: ディング (@code{compact}) で達成されるよりも、ずっと良い圧縮です。
  158: 
  159: たとえ圧縮されたファイルが若干元よりも大きくなっても、圧縮は常に行われま
  160: す。最悪の場合の膨張は、@code{gzip} のファイル・ヘッダに対して数バイトと、
  161: 各 32K ブロック毎に 5 バイト、あるいは、大きなファイルでは 0.015% の膨張
  162: 率です。実際に使われるディスク・ブロックの数はほとんど絶対に増えないこと
  163: に注意してください。@code{gzip} は圧縮したり解凍したりするとき、ファイル
  164: のモードや所有権、タイムスタンプを保存します。
  165: 
  166: @node 見本, gzipの起動, 概観, Top
  167: @chapter 出力の見本
  168: @cindex 見本
  169: 
  170: さて、これが @code{gzip} を実行する現実的な例です。
  171: 
  172: これは @samp{gzip -h } というコマンドの出力です:
  173: 
  174: @example
  175: gzip 1.2.4 (18 Aug 93)
  176: usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]
  177:  -c --stdout      write on standard output, keep original files unchanged
  178:  -d --decompress  decompress
  179:  -f --force       force overwrite of output file and compress links
  180:  -h --help        give this help
  181:  -l --list        list compressed file contents
  182:  -L --license     display software license
  183:  -n --no-name     do not save or restore the original name and time stamp
  184:  -N --name        save or restore the original name and time stamp
  185:  -q --quiet       suppress all warnings
  186:  -r --recursive   operate recursively on directories
  187:  -S .suf  --suffix .suf     use suffix .suf on compressed files
  188:  -t --test        test compressed file integrity
  189:  -v --verbose     verbose mode
  190:  -V --version     display version number
  191:  -1 --fast        compress faster
  192:  -9 --best        compress better
  193:  file...          files to (de)compress. If none given, use standard input.
  194: @end example
  195: 
  196: これは @samp{gzip -v texinfo.tex} というコマンドの出力です:
  197: 
  198: @example
  199: texinfo.tex:             71.6% -- replaced with texinfo.tex.gz
  200: @end example
  201: 
  202: 次のコマンドは現在のディレクトリやサブディレクトリにおいて、あらゆる
  203: @code{gzip} ファイルを検索し、元のファイルを壊さずに適切に展開します:
  204: 
  205: @example
  206: find . -name '*.gz' -print | sed 's/^\(.*\)[.]gz$/gunzip < "&" > "\1"/' | sh
  207: @end example
  208: 
  209: @node gzipの起動, 高度な使い方, 見本, Top
  210: @chapter @code{gzip} の起動
  211: @cindex 起動
  212: @cindex オプション
  213: 
  214: @code{gzip} プログラムを実行するための形式はこうです。
  215: 
  216: @example
  217: gzip @var{オプション} @dots{}
  218: @end example
  219: 
  220: @code{gzip} は以下のオプションをサポートしています:
  221: 
  222: @table @samp
  223: @item --stdout
  224: @itemx --to-stdout
  225: @itemx -c
  226: 出力は標準出力に書きます。元のファイルを変えないでおきます。もしいくつも
  227: の入力ファイルがあったら、その出力は独立に圧縮された部分のひと続きになり
  228: ます。より良く圧縮するためには、全ての入力ファイルを圧縮する前に連結して
  229: ください。
  230: 
  231: @item --decompress
  232: @itemx --uncompress
  233: @itemx -d
  234: 解凍します。
  235: 
  236: @item --force
  237: @itemx -f
  238: そのファイルが複数のリンクを持っていたり、対応するファイルがすでに存在し
  239: ていたり、あるいは、圧縮されたデータが端末から読まれたり書かれたりしても、
  240: 強制的に圧縮や解凍を行います。もしその入力データが @code{gzip} で認識さ
  241: れる形式でなくて、オプション --stdout も与えられていたなら、その入力デー
  242: タを変更せずに標準出力に写します。@code{zcat} は @code{cat} のように振る
  243: 舞います。もし @samp{-f} が与えられなくて、バックグラウンドで実行されて
  244: いないときなら、@code{gzip} は存在するファイルを上書きして良いかどうかを
  245: 確認するために、プロンプトを出します。
  246: 
  247: @item --help
  248: @itemx -h
  249: オプションを記述した有益なヘルプ・メッセージを表示して終了します。
  250: 
  251: @item --list
  252: @itemx -l
  253: 各圧縮されたファイルに対して、以下のフィールドを列挙します:
  254: 
  255: @example
  256: compressed size: 圧縮されたファイルの大きさ
  257: uncompressed size: 解凍されたファイルの大きさ
  258: ratio: 圧縮率 (もし分からなかったら、0.0%)
  259: uncompressed_name: 解凍されたファイルの名前
  260: @end example
  261: 
  262: 解凍された大きさは、圧縮された @samp{.Z} ファイルのような、@code{gzip}
  263: 形式以外のファイルでは @samp{-1} となります。そのようなファイルに対して
  264: 解凍された大きさを得るのには、こうします:
  265: 
  266: @example
  267: zcat file.Z | wc -c
  268: @end example
  269: 
  270: --verbose オプションと組み合わせると、以下のフィールドもまた表示されます:
  271: 
  272: @example
  273: method: 圧縮の手法 (deflate、compress、lzh、pack)
  274: crc: 解凍されたデータの 32ビット CRC
  275: date と time: 解凍されたファイルのタイムスタンプ
  276: @end example
  277: 
  278: その crc は gzip 形式でないファイルでは ffffffff となります。
  279: 
  280: --verbose を付けると、いくかの大きさが不明でなければ、大きさの合計やあら
  281: ゆるファイルに対する圧縮率も表示されます。--quiet を付けると、タイトルや
  282: 合計の行は表示されません。
  283: 
  284: @item --license
  285: @itemx -L
  286: @code{gzip} のライセンスを表示して終了。
  287: 
  288: @item --no-name
  289: @itemx -n
  290: 圧縮するとき、元のファイル名とタイムスタンプをデフォルトで保存しません。
  291: (元の名前は切り捨てられなければならなかったなら必ず保存されます。) 解凍
  292: するとき、元のファイル名を復元せず (@code{gzip} の接尾辞だけを圧縮された
  293: ファイル名から取り除きます)、元のタイムスタンプを復元しません (圧縮され
  294: たファイルからそれを写し取ります)。このオプションは解凍のときはデフォル
  295: トです。
  296: 
  297: @item --name
  298: @itemx -N
  299: 圧縮するとき、常に元のファイル名とタイムスタンプを保存します。これがデフォ
  300: ルトです。解凍するとき、もしあれば元のファイル名とタイムスタンプを復元し
  301: ます。このオプションはファイル名の長さに限界のあるシステムやファイルの転
  302: 送の後にタイムスタンプが失われてしまったときに有用です。
  303: 
  304: @item --quiet
  305: @itemx -q
  306: 全ての警告メッセージを抑制します。
  307: 
  308: @item --recursive
  309: @itemx -r
  310: 再帰的にディレクトリ構造を移動して回ります。もしコマンド行で指定されたファ
  311: イル名のいずれかがディレクトリだったら、@code{gzip} はそのディレクトリに
  312: 降りて、そこで見付けるファイルを全て圧縮します (あるいは、@code{gunzip}
  313: の場合には解凍します)。
  314: 
  315: @item --suffix @var{suf}
  316: @itemx -S @var{suf}
  317: @samp{.gz} ではなく、接尾辞 @samp{@var{suf}} を使います。どんな接尾辞で
  318: も与えられますが、ファイルが他のシステムに転送されるときの混乱を避けるた
  319: めに、@samp{.z} と @samp{.gz} 以外の接尾辞は敬遠するべきです。空の接尾辞
  320: は強制的に gunzip に接尾辞にかかわりなく、あらゆる与えられたファイルに解
  321: 凍を試みさせます、このように:
  322: 
  323: @example
  324: gunzip -S "" *        (MSDOS には *.*)
  325: @end example
  326: 
  327: gzip の以前のバージョンは @samp{.z} 接尾辞を使用しました。@code{pack} と
  328: の衝突を避けるため、これは変更されました。
  329: 
  330: @item --test
  331: @itemx -t
  332: 試験。圧縮されたファイルの完全性を確認します。
  333: 
  334: @item --verbose
  335: @itemx -v
  336: 多弁。各圧縮されるファイルに対して、その名前と百分率での減少を表示します。
  337: 
  338: @item --version
  339: @itemx -V
  340: バージョン。そのバージョン番号とコンパイル時のオプションを表示して、終了。
  341: 
  342: @item --fast
  343: @itemx --best
  344: @itemx -@var{n}
  345: 指定された整数 @var{n} を使って圧縮の速度を調整し、そこでは @samp{-1} や
  346: @samp{--fast} は最速の圧縮手法 (あまり圧縮されない) を示し、
  347: @samp{--best} や @samp{-9} は最も遅い圧縮手法 (最適な圧縮) を示します。
  348: デフォルトの圧縮レベルは @samp{-6} です (すなわち、速度の犠牲により高度
  349: に圧縮される傾向があります)。
  350: @end table
  351: 
  352: @node 高度な使い方, 環境, gzipの起動, Top
  353: @chapter 高度な使い方
  354: @cindex 連結されたファイル
  355: 
  356: 複数の圧縮されたファイルは連結することができます。この場合、
  357: @code{gunzip} は一度に全ての要素を抽出するでしょう。もし一つの要素が損傷
  358: を受けたなら、損傷した要素を削除した後に他の要素をなお取り戻すことができ
  359: るかもしれません。通常全ての要素が解凍されてから一気に再圧縮すると、より
  360: 良い圧縮に達成できます。
  361: 
  362: これは @code{gzip} ファイルを連結する例です:
  363: 
  364: @example
  365: gzip -c file1  > foo.gz
  366: gzip -c file2 >> foo.gz
  367: @end example
  368: 
  369: そして
  370: 
  371: @example
  372: gunzip -c foo
  373: @end example
  374: 
  375: は次に等しくなります。
  376: 
  377: @example
  378: cat file1 file2
  379: @end example
  380: 
  381: @samp{.gz} ファイルの一つの要素が損傷した場合、他の要素はなお取り戻すこ
  382: とができます (もし損傷を受けた要素が取り除かれれば)。しかしながら、一度
  383: に全ての要素を圧縮することによって、より良い圧縮を得ることができます:
  384: 
  385: @example
  386: cat file1 file2 | gzip > foo.gz
  387: @end example
  388: 
  389: はこれよりも良く圧縮します。
  390: 
  391: @example
  392: gzip -c file1 file2 > foo.gz
  393: @end example
  394: 
  395: もしより良い圧縮を得るために、連結されたファイルを再圧縮したいなら、こう
  396: します:
  397: 
  398: @example
  399: zcat old.gz | gzip > new.gz
  400: @end example
  401: 
  402: もし圧縮されたファイルがいくつもの要素から成り立っているなら、
  403: @samp{--list} オプションによって報告される、解凍された大きさと CRC は最
  404: 後の要素だけに適用されます。もしあらゆる要素に対して解凍された大きさが必
  405: 要なら、こうできます:
  406: 
  407: @example
  408: zcat file.gz | wc -c
  409: @end example
  410: 
  411: もし要素を後で独立に抽出できるよう、複数の要素を持つ単一のアーカイブ・ファ
  412: イルを作成したいなら、@code{tar} や @code{zip} のようなアーカイバを使っ
  413: てください。GNU @code{tar} は @code{gzip} を透過的に起動するための、
  414: @samp{-z} オプションをサポートします。@code{gzip} は @code{tar} を補完を
  415: するように設計されたのであって、代用品ではありません。
  416: 
  417: @node 環境, テープ, 高度な使い方, Top
  418: @chapter 環境
  419: @cindex 環境
  420: 
  421: 環境変数 @code{GZIP} は @code{gzip} のためのデフォルトのオプションの組を
  422: 保持できます。これらのオプションは最初に解釈され、明示的なコマンド行パラ
  423: メータによって上書きできます。例えば:
  424: 
  425: @example
  426: shに対して:    GZIP="-8v --name"; export GZIP
  427: cshに対して:   setenv GZIP "-8v --name"
  428: MSDOSに対して: set GZIP=-8v --name
  429: @end example
  430: 
  431: Vax/VMS 上では、プログラムの起動のためのシンボル・セットとの衝突を避ける
  432: ために、環境変数の名前は @code{GZIP_OPT} です。
  433: 
  434: @node テープ, 問題, 環境, Top
  435: @chapter @code{gzip} をテープで使う
  436: @cindex テープ
  437: 
  438: 圧縮されたデータをテープに書き込むとき、大体ブロック境界までゼロで出力に
  439: 詰め物をする必要があります。データが読まれて、ブロック全体が解凍のために
  440: @code{gunzip} の渡されるとき、@code{gunzip} は圧縮されたデータの後に余計
  441: なゴミがあることを検出し、デフォルトで警告を発します。その警告を抑制する
  442: には @samp{--quiet} オプションを使わなければなりません。このオプションは
  443: @code{GZIP} 環境変数で設定できて、このようになります:
  444: 
  445: @example
  446: shに対して:    GZIP="-q"  tar -xfz --block-compress /dev/rst0
  447: cshに対して:   (setenv GZIP "-q"; tar -xfz --block-compress /dev/rst0)
  448: @end example
  449: 
  450: 上記の例において、@code{gzip} は GNU @code{tar} の @samp{-z} オプション
  451: によって暗黙のうちに起動されています。同じブロックの大きさ (@code{tar}
  452: の @samp{-b} オプション) がテープ上で圧縮されたデータを読み書きするため
  453: に使われるよう確認してください。(この例は @code{tar} の GNU 版を使ってい
  454: ることを仮定しています。)
  455: 
  456: @node 問題, 概念による索引, テープ, Top
  457: @chapter バグ報告
  458: @cindex バグ
  459: 
  460: もし @code{gzip} のバグを見付けたら、どうか電子メールを
  461: @w{@samp{jloup@@chorus.fr}} か、もし失敗したら、
  462: @w{@samp{bug-gnu-utils@@prep.ai.mit.edu}} へ送ってください。そのバージョ
  463: ン番号を含めてください、それは @w{@samp{gzip -V}} を走らせれば分かります。
  464: また、あなたのメッセージにハードウェアやオペレーティング・システム、
  465: @code{gzip} をコンパイルするのに使ったコンパイラ、バグの挙動の説明、そし
  466: て、そのバグの引き金となる @code{gzip} への入力を含めてください。@refill
  467: 
  468: @node 概念による索引, , 問題, Top
  469: @unnumbered 概念による索引
  470: 
  471: @printindex cp
  472: 
  473: @contents
  474: @bye

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>