next up previous contents index
Next: 1.4 ファイルのバックアップ Up: 1. ファイル空間の効率的な利用 Previous: 1.2 共有ディレクトリ


       
1.3 ファイルの圧縮と展開

長い期間使わないファイルは圧縮して保存するとよい.ファイルを 圧縮することによって記録の際に 特殊な処理を施し,容量を小さくできる.この処理を 圧縮という.また,圧縮されたファイルを再び使うことができる状態に 戻す処理を展開という.

1.3.1 ファイルの圧縮/展開 -- gzip

  gzipコマンドはファイルを圧縮/展開するコマンドである. 次に書式を示す.

% gzip [オプション] [ファイル名]<RET>

オプション

 

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



一般に,圧縮時間が短いと圧縮率は低くなり,圧縮に時間をかければ 圧縮率は高くなる.次に圧縮率の関係を表した例を示す.

% cp file1 file9<RET>
% ls -l<RET>
total 2
-rw-r--r--  1 t98000tf      56078 Feb 11 14:16 file1
-rw-r--r--  1 t98000tf      56078 Feb 11 14:16 file9
% gzip -1 file1<RET>
% gzip -9 file9<RET>
% ls -l<RET>
total 2
-rw-r--r--  1 t98000tf      20440 Feb 11 14:16 file1.gz
-rw-r--r--  1 t98000tf      17046 Feb 11 14:16 file9.gz
% gzip -d file1.gz file9.gz<RET>
% ls<RET>
file1      file9
% _
ファイル容量が使用制限に近いかあるいはそれを超えている場合にgzip コマンドを実行すると,新しく生成される圧縮ファイルを書き込むファイル空 間がないために,元のファイルも圧縮されたファイルも消えてしまうことがあ るので注意すること.

1.3.2 圧縮したファイルを見る -- zcat

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

% zcat [ファイル名.gz]<RET>

   
1.3.3 ファイルの圧縮/展開 -- lha

UNIXでのlhaコマンド

lhaコマンドはファイルを圧縮/展開するコマンドである. lhaコマンドを用いると,多くのファイルを圧縮して1つの特殊な形式 のファイルにまとめられる. このようなファイルをアーカイブファイルと呼ぶ. lhaコマンドは次のように入力する.

% lha [オプション] [アーカイブファイル名] [ファイル名]<RET>

オプション

lhaコマンドにはオプションが多数存在するが, ここでは代表的なものについて説明する.
a アーカイブファイルを作成し,その中に指定したファイルを格納する.
x アーカイブファイルからもとのファイルを抽出する.ファイル名の指定
  がなければすべてのファイルを抽出する.
l アーカイブファイルに圧縮されているファイルの情報を一覧表示する.
d アーカイブファイルの中から指定したファイルを削除する.
例えばpublic_htmlというディレクトリを public_html.lzhというアーカイブファイルに格納する場合を次に示す. なお,lhaコマンドを利用してファイルを圧縮する場合, 格納するファイルの拡張子は.lzhとする.  

% lha a public_html.lzh public_html<RET>
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<RET>
drwxr-xr-x  2 t98000tf      512 Mar  5 12:26 public_html/
-rw-r--r--  1 t98000tf   754029 Mar  5 12:20 public_html.lzh
% lha l public_html.lzh<RET>
 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 x public_html.lzh<RET>
public_html/12.01.html  - Melted   :  o
public_html/12.02.html  - Melted   :  o
public_html/index.shtml - Melted   :  o
% _