2014/05/08

Ubuntuの標準的な圧縮フォーマット

まずはLubuntu(LXDE)での圧縮、解凍方法 GUI

圧縮: ファイルを右クリックしてcompressを選択すると以下のウィンドウが開くので、そこで圧縮フォーマットを設定して圧縮する。

解凍: 圧縮ファイルを右クリックしてExtract Hereを選択すると、同じディレクトリに展開される。

標準的な圧縮フォーマットについて

圧縮フォーマットはOSごとに標準が結構違う。Lubuntuで標準的に扱えるフォーマットは以下のようなもので結構種類がある。また圧縮そのものではなく、複数ファイルをひとつにまとめる(アーカイブ)役目を果たすtarなどと組み合わせることが多い。

.bz2
bzip2 オープンソース zipよりも高圧縮 7zipに近い高圧縮だが高速。原型のbzipは特許のため開発不能。

.cbz
中身はzip圧縮したもの

.gz
gzip(GNU ZIPの略)zipとは互換性はない。並の圧縮率だが高速に圧縮解凍できる。

.jar
Javaのアーカイブ

.lzma
高圧縮率。

.xz
一番の高圧縮率。場合によってはgzipの半分ぐらいのサイズまで圧縮可能。ただ圧縮に時間がかかるのが難点。とにかくサイズを小さいしたいときにはよいかも。

.zip
Windowsなどの他OSで開くことを前提とした場合これが使われる。

.ar
現在はあまり使われない。これは圧縮するのではなく、複数ファイルのアーカイブを作成するものでtarに代わられた。

.tar
現在Linuxの標準であるtarは複数ファイルのアーカイブを作成することができる。アクセス権等の情報を保持できる。tarアーカイブは無圧縮なので、上記の圧縮形式と組み合わせて使う。拡張子は以下のようになる。

.tar.bz2 (linux全般としてよく使われる 高圧縮)
.tar.gz (gzip圧縮 一番使われるが圧縮率はイマイチ)
.tar.lzma (高圧縮)
.tar.xz (圧倒的高圧縮)


よく使われる圧縮フォーマット

今は.tar.bz2が多いように思うが、高圧縮の.tar.xzも健闘している印象。

コマンドで解凍

実際に複数のファイルを一括して解凍したい時もあるので、そういう時はコマンドが手っ取り早いかもしれない。以下のようなコマンドを使って解凍する。
tar jxf foo.tar.bz2
tar zxf foo.tar.gz
tar Jxf foo.tar.xz
unzip foo.zip

tarの主なオプション
-c (create) : 新しいアーカイブを作成
-x (extract) : アーカイブからファイルを抽出
-v (verbose) : 処理したファイルの一覧出力
-f (file)アーカイブファイルまたはデバイスを指定
-z (gzip,unzip) : アーカイブを gzip にファルタ
-j (bzip2) : アーカイブを bzip2 にフィルタ
-J (xz) : アーカイブをxzにフィルタ(GNU 拡張)