Linux
Tips |
|
複数のファイルを1つにまとめて圧縮するには
北浦訓行
2001/4/5
|
Linuxでは、tarコマンドで複数のファイルを1つにまとめて(アーカイブ)、gzipコマンドで圧縮するケースが多い。ファイル名は、ほとんどの場合「xxx.tar.gz」である(まれに「xxx.tgz」のこともある)。
まず最初に、複数のファイルをアーカイブする。アーカイブする際の書式は、
$ tar cvf アーカイブファイル名 アーカイブするファイル名 |
である。アーカイブファイル名は、.tarという拡張子を付ける。
$ ls
file.tif free.tif ftpsite.tif gnorpm.tif ktermfont0.tif
ktermfont1.tif
$ tar cvf tif.tar *.tif
file.tif
free.tif
ftpsite.tif
gnorpm.tif
ktermfont0.tif
ktermfont1.tif
$ ls -l
合計 4596
-rw-r--r-- 1 noriyu-k noriyu-k 212442
Jan 26 17:04 file.tif
-rw-r--r-- 1 noriyu-k noriyu-k 15688
Jan 26 17:40 free.tif
-rw-r--r-- 1 noriyu-k noriyu-k 600394
Jan 25 12:29 ftpsite.tif
-rw-r--r-- 1 noriyu-k noriyu-k 48500
Mar 11 20:01 gnorpm.tif
-rw-r--r-- 1 noriyu-k noriyu-k 1441865
Jan 26 17:27 ktermfont0.tif
-rw-r--r-- 1 noriyu-k noriyu-k 13112
Jan 26 17:29 ktermfont1.tif
-rw-rw-r-- 1 noriyu-k noriyu-k 2344960
Mar 23 18:46 tif.tar |
ファイルを圧縮するには、gzipコマンドを使用する。圧縮する際は、
という書式になる。これによって、ファイルはLempel-Zivコーディング(LZ77)で圧縮され、.gzというファイルが生成される。
また、gzipよりも圧縮効率の高いbzip2というコマンドもある。bzip2の場合、圧縮ファイルの拡張子は、.bz2になる。bzip2の書式はgzipと同じだ。
$ ls -l
合計 2296
-rw-rw-r-- 1 noriyu-k noriyu-k 2344960
Mar 23 18:46 tif.tar
$ gzip tif.tar
$ ls -l
合計 292
-rw-rw-r-- 1 noriyu-k noriyu-k 293087
Mar 23 18:46 tif.tar.gz |
さて、圧縮されたアーカイブファイルを展開するにはで紹介したとおり、Linuxのディストリビューションに付属しているGNU版のtarには、Lempel-Zivコーディングによる圧縮・展開機能が追加されている。従って、gzipを使用せずにxxx.tar.gzを一気にアーカイブ、圧縮が可能だ。
$ ls
file.tif free.tif ftpsite.tif gnorpm.tif ktermfont0.tif
ktermfont1.tif
$ tar cvzf tif.tar.gz *.tif
file.tif
free.tif
ftpsite.tif
gnorpm.tif
ktermfont0.tif
ktermfont1.tif
$ ls -l
合計 2592
-rw-r--r-- 1 noriyu-k noriyu-k 212442
Jan 26 17:04 file.tif
-rw-r--r-- 1 noriyu-k noriyu-k 15688
Jan 26 17:40 free.tif
-rw-r--r-- 1 noriyu-k noriyu-k 600394
Jan 25 12:29 ftpsite.tif
-rw-r--r-- 1 noriyu-k noriyu-k 48500
Mar 11 20:01 gnorpm.tif
-rw-r--r-- 1 noriyu-k noriyu-k 1441865
Jan 26 17:27 ktermfont0.tif
-rw-r--r-- 1 noriyu-k noriyu-k 13112
Jan 26 17:29 ktermfont1.tif
-rw-rw-r-- 1 noriyu-k noriyu-k 293079
Mar 23 17:29 tif.tar.gz |
LZH形式で圧縮・アーカイブする場合は、lhaコマンドを使用する。手順は以下のとおりだ。
$ ls
file.tif free.tif ftpsite.tif gnorpm.tif ktermfont0.tif
ktermfont1.tif
$ lha a tif.lzh *.tif
file.tif - Frozen(2%) oooo
free.tif - Frozen(14%)
o
ftpsite.tif - Frozen(7%) oooooooooo
gnorpm.tif - Frozen(86%) o
ktermfont0.tif - Frozen(12%) ooooooooooooooooooooooo
ktermfont1.tif - Frozen(60%) o
$ ls -l tif.lzh
-rw-rw-r-- 1 noriyu-k noriyu-k 278702
Mar 23 20:24 tif.lzh |
UNIXでよく使用されるcompressコマンドを使ったファイル圧縮は、以下の手順で行う。
$ ls -l
合計 2296
-rw-rw-r-- 1 noriyu-k noriyu-k 2344960
Mar 23 20:27 tif.tar
$ compress tif.tar
$ ls -l
合計 348
-rw-rw-r-- 1 noriyu-k noriyu-k 349737
Mar 23 20:27 tif.tar.Z |
Linux Squareフォーラム Linux Tipsカテゴリ別インデックス |
Linux & OSS 記事ランキング
本日
月間