9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

zipとgzipどっち使おう?

Posted at

zipとgzip

ファイルを圧縮する際に毎度どの形式で圧縮するか若干悩んだりはしないでしょうか。
この記事ではzipとgzipの違いを明確にし、根拠をもって使い分けできるようしたいと思います。

zipとgzipは全くの別物

いきなりタイトルを覆すことになるのですが、zipとgzipを単純に比較することはできません。

  • zip: アーカイバ
  • gzip: 圧縮コマンド

という違いがあります。
アーカイバとは複数のファイルをまとめる機能(アーカイブ)を持っています。
つまり、ディレクトリを対象にできます
一方gzipはアーカイブ機能を有していないため、ディレクトリを対象にすることはできません。

実際にディレクトリに対してgzipコマンドの実行を試みますが受け付けてくれません。

$ mkdir sample/
$ gzip sample/
gzip: sample/ is a directory -- ignored

zipコマンドはディレクトリに対して使うことができます。

zip -r sample.zip sample/
  adding: sample/ (stored 0%)

tarを使う

よってUnix系のOSではディレクトリを圧縮する場合、gzipではなくtarを使います。

$ tar zcf sample.tar.gz sample
a sample

オプションの解説

  • -z: gzip圧縮をする
  • -c: 新規アーカイブを作成
  • -f: ファイル名作成

zipとtar

よって、比較すべきはziptarということになりました。

1GBのファイルを圧縮してzipとtarコマンドを比較します。

$ mkfile 1g sample/sample.txt

zip

$ zip -r zip_commpression.zip sample
  adding: sample/ (stored 0%)
  adding: sample/test.txt (deflated 100%)
$ du -h zip_commpression.zip # 容量確認
1.0M	zip_commpression.zip

tar

$ tar zcvf tar_compression.tar.gz sample/
a sample
a sample/test.txt
$ du -h tar_compression.tar.gz # 容量確認
1.0M	tar_compression.tar.gz

圧縮後のファイルはどちらも1.0Mで、元ファイルの0.1%になりました。
圧縮率においての差は無いようです。

まとめ

特徴をまとめました。

分類 圧縮率 解凍機能
zip アーカイバ 0.1% なし
gzip コンプレッサ 0.1% あり
tar アーカイバ 0.1% あり

単純なテキストファイルを圧縮した場合の圧縮率はどれも0.1%と等しくなりました。
また、gzip,tarコマンドはオプションで解凍をすることができますが、zipの場合、別途unzipコマンドを用いる必要があります。

あなたがwindowsユーザーの場合

迷わずzipコマンドを使いましょう。

あなたがUnix派生のOSユーザーの場合

どちらを使っても良いのかと思います。ディレクトリとファイルを対象とした圧縮・解凍のことを考えると、どちらを選択したとしても2つのコマンドを扱えるようにしておく必要があり、圧縮率も変わりません。
しかし、標準ではzipがインストールされていなかったりするので、せっかくならgziptarを使ったほうが良いのかなと個人的には思います。windowsでも解凍することはできるので、他人のOSを気にする必要も無いと思います。

9
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?