今日の人気記事

  1. diff - 2つのファイルの差分を出力 - Linuxコマンド
  2. chown - ファイルの所有者やグループを変更 - Linuxコマンド
  3. ファイルの解凍・圧縮 - Linuxコマンド一覧(.zip .gz .Z .bz2 tar.gz .tgz tar.Z .taz .tar.bz2 .tbz2)
  4. ssh - リモートマシンにSSHでログイン - Linuxコマンド
  5. コマンドの実行結果・標準出力をファイルに保存

compress - ファイルを圧縮・展開 - Linuxコマンド

スポンサーリンク

compressコマンドは、ファイルを圧縮・展開するコマンドです。

compressコマンド

書式

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

compressコマンドの圧縮には、Lempel-Ziv-Welch (LZW)というアルゴリズムが利用されています。特許の問題があるため、一般的には圧縮率の高いgzipコマンドが利用されています。

compressコマンドで圧縮したファイルには、拡張子 .Zを付け、tarコマンドでアーカイブ化したファイルには、拡張子 .tar.Z または .taz を付けます。

Terry A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984)

オプション

-c指定したファイル名の圧縮結果を標準出力します。
-dcompress形式で圧縮されたファイルを展開します。
-fファイルが既に存在する場合は上書きします。
-v圧縮率を表示します。

使用例

圧縮率を表示して、ファイルを圧縮します(オプション -v)。圧縮されたファイルには、拡張子 .Zが付けられます。

$ compress -v file.txt 
file.txt:  -- replaced with file.txt.Z Compression: 24.21%
$ ls
file.txt.Z

圧縮したファイルを展開します(オプション -d)。ファイルが既に存在する場合は、上書きするかどうかを尋ねられます。

$ compress -d file.txt.Z 
$ ls
file.txt

複数のファイルやディレクトリごと、ひとつのアーカイブファイルに圧縮したい場合は「tarコマンド」で複数のファイルやディレクトリをひとつのファイルに変換してから圧縮します。

ここでは、ディレクトリ(dir)をtarファイル(archive.tar)へアーカイブ化してから、圧縮を指定ます。

$ tar -cf archive.tar dir
$ ls
dir  archive.tar
$ compress archive.tar 
$ ls
archive.tar.Z dir

$ tar -cf archive.tar dir; compress archive.tar ← 複数のコマンドを連続して実行することもできます。
$ ls
archive.tar.Z  dir

もしくは、tarコマンドで一発でtar.gz形式に圧縮します。

$ tar cfvZ archive.tar.Z dir
dir/
dir/dir2/
dir/dir2/file2
dir/file1
$ ls
archive.tar.Z  dir

関連コマンド

関連記事(一部広告含む)