2003 CNS GUIDE
copyright
 

8.2 ファイルの圧縮と解凍

容量の大きいファイルがあった場合,長い期間使わないファイルを保存する時やファイルを転送する時,メールにファイルを添付する時などは``圧縮''を行います. ファイルの圧縮とは,ファイルの容量を小さくすることです. また,圧縮されたファイルを再び使える状態に戻すことを ``解凍''といいます.

8.2.1 ファイルの圧縮と解凍 -- (gzip)

gzipコマンドはファイルを 圧縮,解凍するコマンドです.

gzip [オプション] [ファイル名]

オプション

-c 結果を標準出力に出す. -cで指定しないと,もとのファイルが圧縮され,`.gz'という拡張子がついて保存される.
-d gzipで圧縮したファ イルを解凍するときに指定する.
-1〜9 1から9まで,9段階で圧縮方法を指定する.1は圧縮時間を最短にでき,9は圧縮率を最高にできる.省略した場合,6が選択される.

一般に,圧縮率を低くすると圧縮時間が短くなり,圧縮率を高くすると圧縮に時間がかかります. 次に圧縮率とファイルのサイズの関係を表した例を示します.

% cp file1 file9 <ENTER>
% ls -l <ENTER>
total 2
-rw-r--r--  1 t03000tf      56078 Feb 11 14:16 file1
-rw-r--r--  1 t03000tf      56078 Feb 11 14:16 file9
% gzip -1 file1 <ENTER>
% gzip -9 file9 <ENTER>
% ls -l <ENTER>
total 2
-rw-r--r--  1 t03000tf      20440 Feb 11 14:16 file1.gz
-rw-r--r--  1 t03000tf      17046 Feb 11 14:16 file9.gz
% gzip -d file1.gz file9.gz <ENTER>
% ls <ENTER>
file1      file9
% _

ファイル容量が使用制限に近いかあるいはそれを超えている場合に gzipコマンドを実行すると,新しく生成される圧縮ファイルを書き込むファイル空間がないために,gzipが異常終了し,圧縮中の ファイルも圧縮されたファイルも 消えてしまうことがあるので注意してください.

8.2.2 圧縮したファイルの表示 -- (zcat)

gzipコマンドで圧縮したファイルの中身 を解凍せずに見るには,zcatコマンドを用います.

zcat [ファイル名]

8.2.3 ファイルの圧縮と解凍 -- (lha)

lhaコマンドはファイルを圧縮,解凍するコマンドです. lhaコマンドを利用すると,多くのファイルを圧縮して1つの特殊な形式のファイルにまとめられます. このようなファイルを``アーカイブファイル'' といいます.lhaコマンドにはオプションの変わりに``キー''を指定します.キーは,オプションと同じ意味あいを持ちますが,マイナス記号(-)をつけません.

lha [キー] [アーカイブファイル名] [ファイルやディレクトリ名]

キー

a アーカイブファイルを作成し,その中に指定したファイルを格納する.
x アーカイブファイルからもとのファイルを抽出する.ファイル名の指定がなければすべてのファイルを抽出する.
l アーカイブファイルに圧縮されているファイルの情報を一覧表示する.
d アーカイブファイルの中から指定したファイルを削除する.

`public_html' というディレクトリを `public_html.lzh' というアーカイブファイルに格納する場合を次に示します. なお,lhaコマンドを利用してファイルを圧縮する場合,格納するファイルの拡張子は一般的に`.lzh'です.

% lha a public_html.lzh public_html <ENTER>
public_html/12.01.html       - Frozen(52%) o
public_html/12.02.html       - Frozen(47%) o
public_html/index.shtml      - Frozen(40%) o
% ls -l <ENTER>
drwxr-xr-x  2 t03000tf      512 Mar  5 12:26 public_html/
-rw-r--r--  1 t03000tf   754029 Mar  5 12:20 public_html.lzh
% lha l public_html.lzh <ENTER>
 PERMSSN    UID  GID      SIZE  RATIO     STAMP           NAME
---------- ----------- ------- ------ ------------ --------------------
drwxr-xr-x 28000/80          0 ****** Mar  5 12:26 public_html/
-rw-r--r-- 28000/80       2486  52.9% Mar  5 12:24 public_html/12.01.html
-rw-r--r-- 28000/80       5899  47.7% Mar  5 12:24 public_html/12.02.html
-rw-r--r-- 28000/80       2136  40.7% Mar  5 12:24 public_html/index.html
---------- ----------- ------- ------ ------------ --------------------
 Total         4 files   10521  47.5% Mar  5 12:26
% lha d public_html.lzh public_html/12.02.html <ENTER>
delete public_html/12.02.html
% lha x public_html.lzh <ENTER>
public_html/12.01.html OverWrite ?(Yes/[No]/All/Skip)  Yes <ENTER>
public_html/12.01.html  - Melted   :  o
public_html/index.shtml OverWrite ?(Yes/[No]/All/Skip)  Yes <ENTER>
public_html/index.shtml - Melted   :  o
% _