SFC CNS GUIDE 2004

7.2 ファイルの圧縮と伸長

長い期間使わない容量の大きいファイルがあると, ファイル空間を浪費してしまいます. また, メールにファイルを添付するときにそのファイルの容量が大きいと, 転送時間が長くなってしまい非効率です. このような場合にはファイルを ``圧縮'' し, ファイルの容量を小さくします. また,圧縮されたファイルを再び使える状態に戻すことを ``伸長'' といいます.

7.2.1 ファイルの圧縮と伸長 -- (gzip)

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

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

7.2.1.1 オプション

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

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

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

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

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

zcat [ファイル名]

次に, gzipコマンドによって圧縮された report.tex.gzというファイルの中身を見る例を示します.

% gzip report.tex <ENTER>
% zcat report.tex.gz <ENTER>
\documentclass[a4j]{jarticle}
\title{体育II レポート}
\author{藤沢 太郎}
\date{\today}
\begin{document}
\section{序論}
今学期の授業を通して学んだことは,
\end{document}
% _
Valid CSS! Valid HTML 4.01!