圧縮ファイルの展開と解凍は違う意味なのでしょうか? linuxの学習をしている初心者です。 gzip、bzip、xz、cpio を今やっています。 例えば
圧縮ファイルの展開と解凍は違う意味なのでしょうか? linuxの学習をしている初心者です。 gzip、bzip、xz、cpio を今やっています。 例えば gzip コマンドで圧縮したコマンドを戻すとき gunzip ファイル.txt.gz と gzip -d ファイル.txt.gz とした場合、lsで確認する限り同じ結果となります。 ファイル.txt gunzip はzipにunをつけたもの gzip の -dオプションは解凍を意味するdecompressの頭文字のようです。 gunzipコマンドとgzip -d コマンド&オプションはどのように使い分けるのでしょうか?
ベストアンサー
gzip のソースコードをダウンロードして gzip.c を見てみましょう。 #if !GNU_STANDARD /* For compatibility with old compress, use program name as an option. * Unless you compile with -DGNU_STANDARD=0, this program will behave as * gzip even if it is invoked under the name gunzip or zcat. * * Systems which do not support links can still use -d or -dc. * Ignore an .exe extension for MSDOS and OS/2. */ if (strncmp (program_name, "un", 2) == 0 /* ungzip, uncompress */ || strncmp (program_name, "gun", 3) == 0) /* gunzip */ decompress = 1; else if (strequ (program_name + 1, "cat") /* zcat, pcat, gcat */ || strequ (program_name, "gzcat")) /* gzcat */ decompress = to_stdout = 1; #endif 元々の gzip の実装においては、実行ファイル名によって デフォルトの動作(オプション)が決まる作りだったのだ。 (gzip と gunzip はハードリンクで実体が同じ) でも GNU はそういう作りは好きじゃ無いらしく、 いつの頃から GNU_STANDARD が標準で true になって このコードではない実装になったのですね。 なので、歴史的には "gzip -d" と "gunzip" は全く同じなので 好きな方を使え、です。 ところで > 圧縮ファイルの展開と解凍は違う意味なのでしょうか? この質問がどうして、 "gzip -d" と "gunzip" の話につながるのですかね。 lha のように freeze / melt という用語を使うアーカイバが日本語表現で 解凍なのであって、gzip 関連では melt という表現は使いませんが。
1人がナイス!しています
「解凍」は俗語。技術的な言葉の用法としては、 概ね次のように捉えておけばいい。 https://atmarkit.itmedia.co.jp/ait/articles/1608/09/news018.html > 複数のファイルをまとめることを「アーカイブ」、 > アーカイブからファイルを取り出すことを「展開」、 > ファイルサイズを小さくすることを「圧縮」、 > 圧縮されたファイルを元に戻すことを「伸張」と呼びます。
質問者からのお礼コメント
LPICを学習中のレベルの初学者です。 これでうまく整理できます。 どうもありがとうございます。
お礼日時:4/8 15:38