圧縮されたアーカイブファイルを展開するには
フリーソフトウェアなどの配布形態は、複数のファイルを1つにまとめて(アーカイブ)、さらに圧縮したものが多い。ファイル名は、ほとんどの場合「xxx.tar.gz」であるが、まれに「xxx.tgz」となっていることもある。
これらの形式のファイルを利用するには、まずgzipコマンドでファイルを展開(圧縮を元に戻す作業)する。これにより、「xxx.tar」というファイルが生成される。展開する際には、
$ gzip -d 圧縮ファイル名 |
という書式になる。ちなみに、gzipという名前から想像されるように、gzipによる圧縮・展開の方式は、Lempel-Zivコーディング(LZ77)である。DOSの時代から、海外での圧縮方法のデファクト・スタンダードになっているPKZIPの形式だ。
また、より圧縮効率の高いbzip2というコマンドもある。bzip2による圧縮ファイルの拡張子は.bz2だ。.bz2形式のファイルを展開する書式は、gzipと同じだ。
$ ls |
これによってできるxxx.tarは、tarコマンドでアーカイブされたファイルだ。続いて抽出(アーカイブファイルから元のファイルを取り出す作業)を行う。xxx.tarからファイルを抽出するには、作成するときと同じく、tarコマンドを使用する。
tarは、本来はMT(磁気テープ)にファイルをバックアップするためのプログラムであるが、Linuxではアーカイブファイルを作成するために使われることが多い。抽出する際には、
$ tar xvf アーカイブファイル名 |
という書式になる。
$ tar xvf tif.tar |
さて、ここまでgzipとtarによる2段階の展開・抽出の方法を紹介したが、Linuxのディストリビューションに付属しているGNU版のtarには、Lempel-Zivコーディングによる圧縮・展開機能が追加されている。従って、gzipを使用せずにxxx.tar.gzを一気に展開し、ファイルを抽出することができる。
$ ls |
ご存じのとおり、日本ではLZH形式による圧縮・アーカイブが広く使われている。そのため、xxx.lzhというファイルを受け取ることも多いだろう。Linuxには、DOS版のLHAを移植したlhaコマンドがあるので、.lzh形式のファイルを展開することもできる。手順は以下のとおりだ。
$ ls |
また、UNIXではcompressコマンドを使ってファイルを圧縮することが多い。compressコマンドによって圧縮されたファイルは、拡張子が.Zになっている。これを展開するには、umcompressコマンドを使用する。
$ ls -l |