簡単でわかりやすい!gzipとzipの違いとは?アーカイバーの歴史もプログラマーがわかりやすく解説
ライター/woinary
某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。
圧縮だけ?1つにまとめる?アーカイバーとは
image by iStockphoto
パソコンのストレージに空きがなくなってきた時便利なのがファイルやフォルダの圧縮。エクスプローラーで選択して圧縮を選ぶだけなので簡単です。この時できたファイルがzipファイル。WindowsでもMacでも同じような操作でつくることができます。
このようにファイルをまとめることを「アーカイブする」、そのためのプログラムが「アーカイバー」です。Windowsなどではこのzipが一般的ですが、プログラマなどが使っているLinuxではgzipというものが一般的。Windowsではあまりなじみがないgzipとzipの違いを説明します。
こちらの記事もおすすめ
ファイルとフォルダの違いは?保存先になるのはどっち?拡張子や類似点もIT雑学ライターが詳しくわかりやすく解説
zip:WinやMacでおなじみ、ファイルやフォルダを圧縮
WindowsやMacでエクスプローラーやファインダーで圧縮した時にできるのがzipファイル。元々は1989年にPKWARE社の製品、PKZIPで使われたものです。その後広く普及して、PKWARE社以外でもzipファイルが使われるようになり、WindowsやMacでも標準で扱うことができるように。
WindowsやMacでは何かをインストールしたりせずにzipファイルをつくることができます。ただ、zipファイルにパスワードをつける場合には、別のアーカイバーのインストールが必要です。
こちらの記事もおすすめ
3分でわかるWindowsとMacの違い!操作性は?どちらを選ぶべき?情報科出身ライターがわかりやすく解説!
gzip:Linuxなどで使う、1ファイルだけ圧縮
一方、Linuxやその元になったUnixの世界で一般的なのがgzip。頭にgが付いただけに見えますね。ただ、個人で使うパソコン用のWindowsやMacと、会社などで複数の利用者が仕事に使うためのLinuxでは考え方が違います。
その一番大きな点がgzipでは1ファイルしか圧縮できないこと。つまり、zipは圧縮もできるアーカイバーですが、gzipは圧縮しかできないのです。その代わり、圧縮できないアーカイバーと組み合わせて使います。一見、手間がかかるように思えますよね。これは、1つの便利なプログラムでさまざまな仕事をするWindowsに対して、Linuxでは簡単なことしかできないプログラムを組み合わせて使うという考え方の違いによるのです。
こちらの記事もおすすめ
LinuxとUbuntuの違いとは?特徴や使い方もプログラマーがわかりやすく解説
gがついているだけで大違い?何が違うか比べてみよう
image by iStockphoto
パソコンではファイルはよく書類に例えられます。その書類をまとめるのがフォルダです。それらの書類やフォルダを本棚やキャビネットに収納しますよね。この本棚やキャビネットのことをアーカイブ(書庫)と呼びます。パソコンの中のデジタルな書庫にしまうプログラムなのでアーカイバーです。
その中でも特に有名なのがzipとgzip。この違いを3点から説明します。
違い1.どこで使えるかの違い
まず違うのは使えるところ。zipはWindowsやMacでは特に何かを用意しなくてもそのままで使えます。一方、Linuxではそのままではzipは使えません。その代わりにgzipを使います。
ただし、WindowsやMacでもgzipをインストールすれば使うことはできます。逆にLinuxでもzipをインストールすれば利用可能。ただ、特に何もしなくても使える方を使うことが多いわけです。また、Linuxやその元になったUnixの世界では最初に触れたようにプログラムの考え方が違う部分もあります。そのため、両者で一般的なものが違っているわけです。
違い2.ファイルのまとめる機能の有無
次に、ファイルをまとめる機能の有無が違います。zipではいくつかのファイルやフォルダをまとめることが可能。しかし、gzipでは1ファイルしか圧縮できません。ファイルをまとめる機能はないわけです。
これでは不便なのでLinuxではファイルをまとめるアーカイバーが別に存在します。このアーカイバーとzipの違いは圧縮機能がないこと。つまりWindowsならzipだけでできることを、Linuxではわざわざアーカイバーとgzipの2つを使ってするわけです。一見不便ですよね。ただ、今ではzipが一般的ですが、後で説明するようにかつては多くのアーカイバーがありました。そのため、アーカイバーと圧縮を分けることで、自由に組み合わせて使う方がよいとLinuxでは考えたのです。
違い3.圧縮した後のファイルの有無
3つ目の違いはファイルを圧縮した後です。zipではファイルやフォルダを圧縮した後、そのファイルはそのまま残ってますよね。不要であれば自分で消す必要があります。一方、gzipでは圧縮したファイルはgzipがつくったファイルで置き換えてしまうのです。元のファイルを改めて消す必要はありません。
これはLinuxではアーカイブと圧縮が別々に分かれていることも関係しています。アーカイブした時にはzip同様、元のファイルは残っています。ですので、まとめたファイルがたとえ壊れてしまっても元のファイルから作り直すだけ。だから、圧縮したら元のファイルは消してしまうわけです。
\次のページで「zipやgzipだけじゃない?アーカイバーの話」を解説!/