compressコマンドでファイルを圧縮する方法|.Zファイルの解凍・オプションも解説コマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドA-E, 圧縮・解凍・アーカイブ管理コマンド > compressコマンドでファイルを圧縮する方法|.Zファイルの解凍・オプションも解説コマンド
「compressで圧縮したら元ファイルが消えた」「.Zファイルを解凍するコマンドが分からない」——Linuxを触り始めると、こういった場面に出くわすことがあります。

この記事では、Linuxの compress コマンドの基本的な使い方から、オプションの詳細、実務でのTips、よくあるエラーの対処法まで解説します。

【この記事でわかること】
・compressはLZW方式で圧縮し、元ファイルを.Zに置き換える
・-c オプションで標準出力に出力し、元ファイルを残せる
・解凍はuncompressコマンド(またはgzip -d)を使う
・現在はgzipが主流。.Zファイルを受け取った時に使う場面が多い

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。