用語集
圧縮・伸長まとめ
compress (.Z)・gzip (.gz)・bzip2 (.bz2)・xz (.xz) とマルチスレッド版 pigz・pbzip2・pxz の圧縮・伸長 (解凍) のまとめ
現在の UNIX・Linux でよく使われる圧縮形式や、圧縮・伸長 (解凍・展開) コマンドについて説明する。
●圧縮率と速度
圧縮率は、一般的には下記のとおりで、xz が一番圧縮率が高い (小さいサイズに圧縮できる)。
圧縮・伸長 (解凍・展開) の速度は圧縮率に比例して、
となり、xz が一番遅い。
近年 CPU 速度が頭打ちで、その代わりにマルチコア対応が進んできた。gzip・bzip2・xz などはいずれもシングルプロセスで圧縮・伸長を行うため、1コアを集中的に使うものの、他のコアが遊んでしまう。最近はマルチコアを有効活用できるよう、マルチスレッド版の pigz・pbzip2・pxv コマンドなどが出てきた。
●gzip コマンド
UNIX における最も標準的な圧縮・伸長コマンド。
拡張子
| .gz (tar + gzip の拡張子は .tar.gz または .tgz)
|
基本コマンド
| gzip
|
伸長
| gunzip
|
表示
| gzcat, zcat
|
圧縮したままgrep
| zgrep (Solaris では gzgrep のようだ), zegrep, zfgrep
|
マルチスレッド版
| pigz (unpigz)
|
tarオプション
| tar zcf (圧縮)、tar zxf (展開)、tar ztf (一覧表示)
|
その他
| zforce, znew, zcmp, zdiff, gzexe, gzrecover
|
●bzip2 コマンド
gzip より圧縮率が高いが、動作が遅い。Linux 界隈では標準圧縮フォーマットとして認知されている感がある。
拡張子
| .bz2 (tar + bzip2 の拡張子は .tar.gz または .tbz2)
|
基本コマンド
| bzip2
|
伸長
| bunzip2
|
表示
| bzcat
|
圧縮したままgrep
| bzgrep, bzegrep, bzfgrep
|
マルチスレッド版
| pbzip2
|
tarオプション
| tar jcf (圧縮)、tar jxf (展開)、tar jtf (一覧表示)
|
●xz コマンド
bzip2 より圧縮率が高いが、動作が遅い。特に圧縮がとても遅い。
拡張子
| .xz (tar + xz の拡張子は .tar.xz または .txz)
|
基本コマンド
| xz
|
伸長
| unxz
|
表示
| xzcat
|
圧縮したままgrep
| xzgrep, xzegrep, xzfgrep
|
マルチスレッド版
| pxz (または xz の -T オプション)
|
tarオプション
| tar Jcf (圧縮)、tar Jxf (展開)、tar Jtf (一覧表示)
|
昔の UNIX で使われていたコマンドは下記。
●compress コマンド
古い形式であり、今となっては使わなくてよいでしょう。Linux では ncompress パッケージとして提供されているようだ。
拡張子
| .Z
|
基本コマンド
| compress
|
伸長
| uncompress
|
表示
| zcat
|
圧縮したままgrep
| たぶんない
|
tarオプション
| tar Zcf (圧縮)、tar Zxf (展開)、tar Ztf (一覧表示)
|
●pack コマンド
とても古い形式であり、今となっては使わなくてよいでしょう。
拡張子
| .z
|
基本コマンド
| pack コマンド
|
伸長
| unpack コマンド
|
以下は Windows 系でよく使われる形式。
●unzip コマンド
概要
| Windows 界隈で使われている zip 形式を扱える。
|
コマンド
| unzip
|
拡張子
| .zip
|
●7z コマンド
概要
| Windows 界隈で使われている 7z 形式を扱えるコマンド。圧縮率は xz コマンドとほぼ同じ。
|
拡張子
| .7z
|
コマンド
| 7z・7za・7zr・p7zip
|
●lha コマンド
概要
| Windows 界隈で使われていた lhz・lha 形式を扱えるコマンド。
|
コマンド
| lha
|
拡張子
| .lhz .lha
|