一般社団法人 全国個人事業主支援協会

COLUMN コラム

  • 「gzipコマンド、gunzipコマンド、zcatコマンド」について

■gzipコマンド/gunzipコマンドとは?

gzipはファイルを圧縮するコマンド、gunzipは圧縮ファイルを元に戻すコマンド
複数のファイルをまとめるという“アーカイブ機能”はなく、1つ1つのファイルに対して機能する。

〇gzipコマンド/gunzipコマンドの書式
gzip [オプション] ファイル
gunzip [オプション] ファイル

〇gzipコマンド/gunzipコマンドの主なオプション

「短いオプション/長いオプション
…意味」

-1~-9
…圧縮レベル(「-1」が低圧縮率で高速、「-9」は高圧縮率だが低速)

-c / –stdout,–to-stdout
…結果をファイルではなく標準出力へ出力する(主にパイプで別コマンドに渡す際に使用)

-d / –decompress,–uncompress
…伸張を行う(gunzipのデフォルト)

-f / –force
…ファイルを上書きする

-k / –keep
…圧縮前/伸張前のファイルを残す

-l –list
…圧縮率と圧縮前のファイルサイズを表示する(圧縮ファイルに対して使用)

-N / –name
…ファイル名とタイムスタンプを保持する

-n / –no-name
…ファイル名とタイムスタンプを保持しない

-q / –quiet
…エラーメッセージなどを表示しない

-r / –recursive
…ディレクトリを再帰的に処理する

-S 拡張子 / –suffix 拡張子
…圧縮ファイルの拡張子を指定する(無指定時は「.gz」)

-t / –test
…圧縮ファイルをテストする

-v / –verbose
…処理内容を表示する

 

■ファイルを圧縮する/伸張する

複数のファイルをまとめることを「アーカイブ」、アーカイブからファイルを取り出すことを「展開」、
ファイルサイズを小さくすることを「圧縮」、圧縮されたファイルを元に戻すことを「伸張」と呼ぶ。

「zip」コマンドはアーカイブと圧縮を同時に行うのに対し、gzipコマンドは「圧縮」のみ、
gunzipコマンドは「伸張」のみを行う。
ちなみに、アーカイブには「tar」コマンドを使用する。

gzipコマンドで圧縮されたファイルには、元のファイル名に拡張子「.gz」が追加される。
圧縮と同時に元のファイルは削除されるので、
例えば「gzip list1.txt」は「list1.txt」を「list1.txt.gz」に変換する、という動作になる。

逆に、gunzipコマンドで圧縮ファイル(.gz)を伸張した場合は、元の圧縮ファイルが削除される。
つまり、「gunzip list1.txt.gz」は「list1.txt.gz」を「list1.txt」に変換する、という動作になる。

コマンド実行例
gzip list1.txt

(「list1.txt」を圧縮して「list1.txt.gz」にする)

gunzip list1.txt.gz

(「list1.txt.gz」を伸張して「memo.txt」にする)

■zcatコマンドとは?

zcatコマンドは、指定したgzip形式またはcompress形式の圧縮ファイルの内容を表示する。

〇zcatコマンドの書式
zcat [オプション] ファイル

〇オプション -f
指定したファイルがgzip形式の圧縮ファイルでもcompress形式の圧縮ファイルでもない場合に、
catコマンドのようにファイルの内容を表示する。
このオプションを指定しなかった場合、指定したファイルがgzip形式の圧縮ファイルでも
compress形式の圧縮ファイルでもない場合に、エラーが発生する。

〇引数 ファイル
内容を表示する圧縮ファイルの名前を指定する。
zcatコマンドは、拡張子ではなく圧縮ファイルの構造を解析し、gzip形式または
compress形式のファイルの場合に、内容を表示する。

・gzip形式またはcompress形式の圧縮ファイルかどうかを判定する

$ zcat file01.txt

zcat: file01.txt: not in gzip format

gzip形式の圧縮ファイルでもcompress形式の圧縮ファイルでもない場合には、エラーが発生
エラーが発生すると、それらの圧縮ファイルでないと判定できる

・ファイルの内容を表示する
$ zcat -f file01.txt

オプション「-f」を付けると、gzip形式やcompress形式の圧縮ファイルでない場合に、
ファイルの中身を表示

「file01.txt」の中身が表示される。

・圧縮ファイルの内容を表示する
$ gzip file01.txt

$ ls

file01.txt.gz

$ zcat file01.txt.gz

「file01.txt.gz」を解凍した際に得られる「file01.txt」の中身が表示される。

 

The following two tabs change content below.

この記事をシェアする

  • Twitterでシェア
  • Facebookでシェア
  • LINEでシェア