Linux環境でファイルを圧縮・まとめて扱いたいとき、よく使われるのがzip
コマンドです。
GUI環境がないサーバー上やSSH接続中でも、ターミナルから簡単に圧縮・解凍ができ、バックアップやデータ転送、ログ整理にも大活躍します。
この記事では、Linuxのzipコマンドの基本から、実践的なオプション、間違えやすいポイントまでをわかりやすく解説します。
初心者でもすぐ使いこなせるよう、具体例を交えて丁寧にご紹介します。
zipコマンドとは?

zip
コマンドは、複数のファイルやディレクトリを.zip形式に圧縮するためのコマンドラインツールです。
多くのLinuxディストリビューションでサポートされており、Windowsとの互換性も高いため、ファイル共有にも便利です。
Linuxでzipコマンドを使う準備
まずはインストールを確認:
zip -v
「command not found」と出る場合は、以下でインストール可能です:
- Ubuntu / Debian系:
sudo apt install zip unzip
- CentOS / RHEL系:
sudo yum install zip unzip
基本的な使い方(圧縮)

ここからzipコマンドの基本的な使い方を見ていく。
ファイル1つを圧縮
zip archive.zip file.txt
複数ファイルをまとめて圧縮
zip archive.zip file1.txt file2.log image.png
ディレクトリごと圧縮(再帰的)
zip -r archive.zip foldername
-r
は「recursive(再帰的)」の意味で、フォルダ内のすべてのファイル・サブフォルダを含みます。
unzipによる解凍方法

unzipによる解凍方法も見ていく。
解凍する基本コマンド
unzip archive.zip
特定のフォルダに解凍
unzip archive.zip -d /path/to/destination
中身だけ一覧表示(解凍しない)
unzip -l archive.zip
よく使うオプション一覧
オプション | 説明 |
---|---|
-r | ディレクトリを再帰的に圧縮 |
-q | メッセージ非表示(quiet) |
-x | 特定ファイルを除外 |
-9 | 最高圧縮率で圧縮 |
-d | 解凍時の出力先を指定(unzip側) |
実用例:除外・日付付きバックアップ・再帰圧縮

いくつかの例も見ていく。
例1:.DS_Storeなど不要ファイルを除いて圧縮
zip -r archive.zip myfolder -x "*.DS_Store"
例2:日付を付けたバックアップスクリプト
zip -r backup_$(date +%Y%m%d).zip /home/user/documents
例3:ログファイルだけ圧縮
zip logs.zip *.log
エラー対処・インストールされていない場合
zip: command not found
と出たら、zip
パッケージが未インストールPermission denied
は、対象ファイルに読み取り権限がない可能性 →chmod
で確認- 解凍時に「Unsupported compression method」が出る場合は、古いバージョンの
unzip
が原因になることも → 最新版へ更新
まとめ
操作 | コマンド例 |
---|---|
ファイル圧縮 | zip archive.zip file.txt |
フォルダ圧縮 | zip -r archive.zip folder |
解凍 | unzip archive.zip |
除外付き圧縮 | zip -r a.zip . -x "*.log" |
解凍先指定 | unzip a.zip -d /tmp |
コメント