ファイル圧縮
膨大な量のエンタープライズ データが作成および保存されるため、ディスク スペースを節約し、データ転送時間を最適化することが急務となっています。ファイル圧縮に使用されるさまざまなツール、ユーティリティ、およびコマンドがあります。一般的に使用されるコマンドの一部は次のとおりです。
– compress コマンド
– gzip コマンド
– zip コマンド
圧縮コマンド
ファイルを圧縮する場合、compress コマンドは元のファイルを .Z を持つ新しいファイルに置き換えます。
$ compress [ -v ] filename
元のファイルの所有権と変更時刻はそのまま残りますが、ファイルの内容は変更されます。圧縮の量は、圧縮するファイルの種類によって異なります。通常、圧縮によってテキスト ファイルは 50 ~ 60% 縮小されます。
ファイルの圧縮:compress コマンド
次の例は、test.tar というファイルを圧縮する方法を示しています。
# compress -v test.tar test.tar: -- replaced with test.tar.Z Compression: 96.35%
# ls -lrt test.tar.Z -rw-r--r--. 1 root root 373 Dec 7 19:31 test.tar.Z
ここでは、
– -v (冗長) オプションは、各ファイルの縮小または拡大のパーセンテージに関する情報を提供します。
– 圧縮ファイル test.tar.Z は、test.tar ファイルを置き換えます。
圧縮ファイルの表示:zcat コマンド
zcat コマンドは、圧縮ファイルの非圧縮形式を標準出力に出力します。
$ zcat filename
data.txt.Z 圧縮ファイルの内容を表示するには、次のコマンドを入力します:
# zcat data.txt.Z northwest NW Joel Craig 10 western WE Sharon Kelly 40 southwest SW Chris Foster 33 northeast NE TJ Nichols 67 north NO Val Shultz 91 central CT Sheri Watson 44注意 :zcat コマンドは、圧縮されたデータを解釈し、圧縮されていないかのようにファイルの内容を表示します。
zcat filename コマンドは、uncompress -c filename コマンドと機能的に同じです。たとえば、圧縮ファイル data.txt.Z の内容を表示するには、以下に示すコマンドを使用することもできます。
uncompress -c data.txt.Z
ファイルの解凍:uncompress コマンド
uncompress コマンドは、圧縮ファイルを非圧縮状態に復元します。
$ uncompress options filename
test.tar.Z ファイルを解凍して test.tar ファイルに復元するには、次のコマンドを入力します。
# uncompress -v test.tar.Z test.tar.Z: -- replaced with test.tar
-v オプションは、実行中のアクションに関する追加メッセージを表示します。
-c オプションを指定して uncompress コマンドを使用すると、圧縮された .Z ファイルを変更せずに、圧縮ファイルの内容を標準出力 (画面) に送信できます。それ以外の場合は、パイプ (|) 文字を使用して、解凍コマンドの出力を別のプログラムに送信できます。
tar コマンドを使用して、uncompress コマンドが読み取っているファイルの内容を一覧表示できます。
# uncompress -c test.tar.Z | tar tvf - -rw-r--r-- root/root 31 2017-12-02 07:02 test -rw-r--r-- root/root 19 2017-12-02 07:04 test1 -rw-r--r-- root/root 20 2017-12-02 07:04 test2
コマンド ラインの最後のダッシュ (-) は、tar コマンドが、tar ファイルやディスクではなく、uncompress コマンドのパイプ出力からデータを読み取ることを示します。
ファイルの圧縮:gzip コマンド
または、gzip コマンドを使用してファイルを圧縮することもできます。
$ gzip [ -v ] filenames
gzip コマンドは圧縮コマンドと同じ機能を実行しますが、通常、gzip コマンドはより小さなファイルを生成します。たとえば、一連のファイル file1、file2、file3、および file4 を圧縮するには、次のコマンドを入力します。
$ gzip file1 file2 file3 file4 $ ls *.gz file1.gz file2.gz file3.gz file4.gz
圧縮ファイルの拡張子は .gz です。
圧縮ファイルの表示:gzcat コマンド
gzcat コマンドは、gzip または compress コマンドで圧縮されたファイルを表示します。
$ gzcat filename
data.txt.gz ファイルを表示するには、次のコマンドを使用します:
# gzcat data.txt.gz northwest NW Joel Craig 10 western WE Sharon Kelly 40 southwest SW Chris Foster 33 northeast NE TJ Nichols 67 north NO Val Shultz 91 central CT Sheri Watson 44注意 :gzcat コマンドは、圧縮ファイルの内容を変更しません。圧縮ファイルは、圧縮された形式でディスクに残ります。
ファイルの解凍:gunzip コマンド
gunzip コマンドは、gzip コマンドで圧縮されたファイルを解凍します。
$ gunzip filename
file1.gz ファイルを解凍するには、次のコマンドを使用します:
$ gunzip file1.gz
複数ファイルの圧縮とアーカイブ:zip コマンド
zip コマンドは、複数のファイルを一度に 1 つのファイルに圧縮してアーカイブします。
$ zip target_filename source_filenames
test1 と test2 を test.zip アーカイブ ファイルに圧縮するには、次のコマンドを入力します。
# zip test.zip test1 test2 adding: test1 (deflated 5%) adding: test2 (stored 0%)
# ls -l test.zip -rw-r--r--. 1 root root 336 Dec 8 05:32 test.zip
デフォルトでは、zip コマンドは、拡張子付きの新しいファイル名を割り当てない場合、圧縮されたアーカイブ ファイルに .zip 拡張子を追加します。
注意 :コマンド ラインで zip または unzip コマンドを実行して、各コマンドで使用されるオプションのリストを表示できます。アーカイブ ファイルの表示と解凍:unzip コマンド
unzip コマンドは、ファイルの一覧表示と、圧縮された .zip ファイルのコンテンツの抽出に使用されます。
$ unzip zipfile
file.zip アーカイブ ファイルを解凍するには、次のコマンドを使用します:
$ unzip file.zipLinux で tar コマンドを使用する方法