UNIXの部屋 コマンド: 圧縮・伸長まとめ


※空白区切りで AND 検索 (例:「ファイル 削除」)

用語集 圧縮・伸長まとめ compress (.Z)・gzip (.gz)・bzip2 (.bz2)・xz (.xz) とマルチスレッド版 pigz・pbzip2・pxz の圧縮・伸長 (解凍) のまとめ

現在の UNIX・Linux でよく使われる圧縮形式や、圧縮・伸長 (解凍・展開) について説明する。圧縮率は gzip < bzip2 < xz で、xz が一番高い。圧縮・伸長 (解凍・展開) の速度も gzip < bzip2 < 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
>> コマンド gzip *   gzcat *   zforce *   zdiff *   gzexe *   gzrecover *   znew *

bzip2 コマンド
gzip より圧縮率が高いが、動作が遅い。
拡張子 .bz2 (tar + bzip2 の拡張子は .tar.gz または .tbz2)
基本コマンド bzip2
伸長 bunzip2
表示 bzcat
圧縮したままgrep bzgrep, bzegrep, bzfgrep
マルチスレッド版 pbzip2
tarオプション tar jcf (圧縮)、tar jxf (展開)、tar jtf (一覧表示)
>> コマンド bzip2 *

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 ではパッケージがないかも。
拡張子 .Z
基本コマンド compress
伸長 uncompress
表示 zcat
圧縮したままgrep たぶんない
tarオプション tar Zcf (圧縮)、tar Zxf (展開)、tar Ztf (一覧表示)
>> コマンド compress *

pack コマンド
とても古い形式であり、今となっては使わなくてよいでしょう。
拡張子 .z
基本コマンド pack コマンド
伸長 unpack コマンド


以下は Windows 系でよく使われる形式。

unzip コマンド
概要 Windows 界隈で使われている zip 形式を扱える。
コマンド unzip
拡張子 .zip
>> コマンド unzip *

7z コマンド
概要 Windows 界隈で使われている 7z 形式を扱えるコマンド。圧縮率は xz コマンドとほぼ同じ。
拡張子 .7z
コマンド 7z・7za・7zr・p7zip

lha コマンド
概要 Windows 界隈で使われていた lhz・lha 形式を扱えるコマンド。
コマンド lha
拡張子 .lhz .lha

さらにその他 (未調査)
rzip・lzip・lzop・rar・lz4



頑張って書いたおすすめコンテンツ!