Linux Tips

圧縮されたアーカイブファイルを展開するには

北浦訓行
2001/4/5

 フリーソフトウェアなどの配布形態は、複数のファイルを1つにまとめて(アーカイブ)、さらに圧縮したものが多い。ファイル名は、ほとんどの場合「xxx.tar.gz」であるが、まれに「xxx.tgz」となっていることもある。

 これらの形式のファイルを利用するには、まずgzipコマンドでファイルを展開(圧縮を元に戻す作業)する。これにより、「xxx.tar」というファイルが生成される。展開する際には、

$ gzip -d 圧縮ファイル名

という書式になる。ちなみに、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 アーカイブファイル名

という書式になる。

$ 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 Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間