Linux
Tips |
|
圧縮されたアーカイブファイルを展開するには
北浦訓行
2001/4/5
|
フリーソフトウェアなどの配布形態は、複数のファイルを1つにまとめて(アーカイブ)、さらに圧縮したものが多い。ファイル名は、ほとんどの場合「xxx.tar.gz」であるが、まれに「xxx.tgz」となっていることもある。
これらの形式のファイルを利用するには、まずgzipコマンドでファイルを展開(圧縮を元に戻す作業)する。これにより、「xxx.tar」というファイルが生成される。展開する際には、
という書式になる。ちなみに、gzipという名前から想像されるように、gzipによる圧縮・展開の方式は、Lempel-Zivコーディング(LZ77)である。DOSの時代から、海外での圧縮方法のデファクト・スタンダードになっているPKZIPの形式だ。
また、より圧縮効率の高いbzip2というコマンドもある。bzip2による圧縮ファイルの拡張子は.bz2だ。.bz2形式のファイルを展開する書式は、gzipと同じだ。
$ ls
tif.tar.gz
$ gzip -d tif.tar.gz
$ ls
tif.tar |
これによってできるxxx.tarは、tarコマンドでアーカイブされたファイルだ。続いて抽出(アーカイブファイルから元のファイルを取り出す作業)を行う。xxx.tarからファイルを抽出するには、作成するときと同じく、tarコマンドを使用する。
tarは、本来はMT(磁気テープ)にファイルをバックアップするためのプログラムであるが、Linuxではアーカイブファイルを作成するために使われることが多い。抽出する際には、
という書式になる。
$ tar xvf tif.tar
file.tif
free.tif
ftpsite.tif
gnorpm.tif
ktermfont0.tif
ktermfont1.tif
$ ls
file.tif ftpsite.tif ktermfont0.tif tif.tar
free.tif gnorpm.tif ktermfont1.tif |
さて、ここまでgzipとtarによる2段階の展開・抽出の方法を紹介したが、Linuxのディストリビューションに付属しているGNU版のtarには、Lempel-Zivコーディングによる圧縮・展開機能が追加されている。従って、gzipを使用せずにxxx.tar.gzを一気に展開し、ファイルを抽出することができる。
$ ls
tif.tar.gz
$ tar xzvf tif.tar.gz
file.tif
free.tif
ftpsite.tif
gnorpm.tif
ktermfont0.tif
ktermfont1.tif
$ ls
file.tif ftpsite.tif ktermfont0.tif tif.tar.gz
free.tif gnorpm.tif ktermfont1.tif |
ご存じのとおり、日本ではLZH形式による圧縮・アーカイブが広く使われている。そのため、xxx.lzhというファイルを受け取ることも多いだろう。Linuxには、DOS版のLHAを移植したlhaコマンドがあるので、.lzh形式のファイルを展開することもできる。手順は以下のとおりだ。
$ ls
tif.lzh
$ lha x tif.lzh
capture.tif - Melted : oooooo
gimp1.tif - Melted : oooooooooooooooooooooooooooooooooo
gimp2.tif - Melted : oooooooooooooooooo
$ ls
capture.tif gimp1.tif gimp2.tif tif.lzh
|
また、UNIXではcompressコマンドを使ってファイルを圧縮することが多い。compressコマンドによって圧縮されたファイルは、拡張子が.Zになっている。これを展開するには、umcompressコマンドを使用する。
$ ls -l
合計 348
-rw-rw-r-- 1 noriyu-k noriyu-k 349737
Mar 23 18:46 tif.tar.Z
$ uncompress tif.tar.Z
$ ls -l
合計 2296
-rw-rw-r-- 1 noriyu-k noriyu-k 2344960
Mar 23 18:46 tif.tar |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間