この記事では、Linuxの
compress コマンドの基本的な使い方から、オプションの詳細、実務でのTips、よくあるエラーの対処法まで解説します。・compressはLZW方式で圧縮し、元ファイルを.Zに置き換える
・-c オプションで標準出力に出力し、元ファイルを残せる
・解凍はuncompressコマンド(またはgzip -d)を使う
・現在はgzipが主流。.Zファイルを受け取った時に使う場面が多い
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
compressコマンドとは?Linuxの古典的な圧縮コマンド
compress は、Unix由来のLZW(Lempel-Ziv-Welch)アルゴリズムを使ったファイル圧縮コマンドです。圧縮されたファイルには .Z という拡張子が付きます。現在のLinux環境では
gzip が標準的な圧縮コマンドとして普及しており、compress を積極的に使う場面は少なくなっています。ただし、古いシステムとのファイルのやり取りや、.Z 形式のファイルを受け取った際に解凍する場面では、今でも知っておく必要があります。RHEL系では、
compress はデフォルトでインストールされていない場合があります。インストールするには以下を実行してください。# RHEL/CentOS/Rocky Linux の場合 $ sudo dnf install ncompress # Debian/Ubuntu の場合 $ sudo apt install ncompress
基本的な使い方
1. ファイルを圧縮する
ファイル名を引数に指定するだけで圧縮できます。圧縮後、元ファイルは削除されて.Z ファイルが作成されます。# ファイルを圧縮する(元ファイルは削除される) $ ls -l proftpd-1.3.4d.tar -rw-r--r-- 1 root root 28149760 Mar 28 14:50 proftpd-1.3.4d.tar $ compress proftpd-1.3.4d.tar $ ls -l proftpd-1.3.4d.tar.Z -rw-r--r-- 1 root root 16829961 Mar 28 14:50 proftpd-1.3.4d.tar.Z
proftpd-1.3.4d.tar が削除され、proftpd-1.3.4d.tar.Z が作成されました。2. 圧縮率を表示しながら圧縮する(-v)
-v(verbose)オプションを付けると、圧縮率が表示されます。# 圧縮率を表示しながら圧縮する $ compress -v proftpd-1.3.4d.tar proftpd-1.3.4d.tar: -- replaced with proftpd-1.3.4d.tar.Z Compression: 40.22%
3. 元ファイルを残して圧縮する(-c)
-c オプションを使うと、圧縮結果を標準出力に出力できます。リダイレクトと組み合わせることで、元ファイルを削除せずに圧縮ファイルを作成できます。# 元ファイルを残したまま圧縮する $ compress -c proftpd-1.3.4d.tar > proftpd-1.3.4d.tar.Z # 両方のファイルが存在することを確認する $ ls -l proftpd-1.3.4d.tar* -rw-r--r-- 1 root root 28149760 Mar 28 15:01 proftpd-1.3.4d.tar -rw-r--r-- 1 root root 16829961 Mar 28 15:01 proftpd-1.3.4d.tar.Z
4. ファイルを解凍する(uncompress)
compress で圧縮したファイルを元に戻すには、uncompress コマンドを使います。または、gzip -d でも解凍できます。# uncompressで解凍する $ uncompress proftpd-1.3.4d.tar.Z # または gzip -d でも解凍できる $ gzip -d proftpd-1.3.4d.tar.Z
応用・実務Tips
compressのオプション一覧
・-c:圧縮結果を標準出力に出力する(元ファイルを残せる)・-f:同名ファイルが存在した場合、確認せず強制上書きする
・-v:ファイルの圧縮率を表示する
gzipとの使い分け
現在のLinux環境では、新規に作成するアーカイブにはgzip(.gz形式)を使うのが標準です。compress を使う場面は、主に古いシステムから届いた .Z ファイルを解凍する場合に限られます。| コマンド | 拡張子 | アルゴリズム | 推奨度 |
|---|---|---|---|
| compress | .Z | LZW | 古いシステムとのやり取りのみ |
| gzip | .gz | DEFLATE | 現在の標準(推奨) |
トラブルシュート・エラー対処
「compress: command not found」が出た場合
compress がインストールされていません。ncompress パッケージをインストールしてください。# RHEL系 $ sudo dnf install ncompress # Debian/Ubuntu系 $ sudo apt install ncompress
「Permission denied」が出た場合
圧縮対象のファイルや出力先ディレクトリへの書き込み権限がありません。ファイルのパーミッションを確認し、必要に応じてsudo を付けて実行してください。# パーミッションを確認する $ ls -l 対象ファイル # root権限で圧縮する $ sudo compress 対象ファイル
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| ファイルを圧縮する | compress ファイル名 |
| 圧縮率を表示しながら圧縮する | compress -v ファイル名 |
| 元ファイルを残して圧縮する | compress -c ファイル名 > ファイル名.Z |
| .Zファイルを解凍する | uncompress ファイル名.Z |
| gzipコマンドで.Zを解凍する | gzip -d ファイル名.Z |
Linuxのファイル圧縮・管理を体系的に学びたい方へ
compress/gzip/tarといった圧縮コマンドを使いこなすことは、バックアップ・ログ管理・ソフトウェア展開など現場の多くの場面で役立ちます。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:gzipコマンドでファイルを圧縮・解凍する方法|tar.gzやzcatの使い方も
- 前のページへ:nkfコマンドで文字コードを変換する方法|UTF-8変換や改行コード変換も
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドA-E・圧縮・解凍・アーカイブ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます