カテゴリ: Linuxコマンド集 更新日: 2026/07/28

zip -rオプションの使い方を完全解説!Linuxでディレクトリを再帰的に圧縮する方法

zip -rオプション|ディレクトリを再帰的に圧縮する
zip -rオプション|ディレクトリを再帰的に圧縮する

先生と生徒の会話形式で理解しよう

生徒

「Linuxでフォルダごとまとめて圧縮したいんですが、どうすればいいですか?」

先生

「その場合はzipコマンドの-rオプションを使うと、ディレクトリの中身ごと圧縮できますよ。」

生徒

「フォルダの中にさらにフォルダがあっても大丈夫なんですか?」

先生

「はい、再帰的に処理されるので全部まとめて圧縮できます。順番に見ていきましょう。」

1. zip -rオプションとは何か

1. zip -rオプションとは何か
1. zip -rオプションとは何か

zip -rオプションとは、Linuxのzipコマンドでディレクトリを丸ごと圧縮するためのオプションです。再帰的という言葉は少し難しく聞こえますが、簡単に言うとフォルダの中にあるすべてのファイルやサブフォルダも含めて処理するという意味です。

通常のzipコマンドでは単一ファイルや指定したファイルのみを圧縮しますが、-rオプションを付けることでフォルダ単位でまとめて圧縮できるようになります。

Linux初心者の方にとっては、フォルダごとまとめて扱える非常に便利な機能です。

2. 基本的な使い方

2. 基本的な使い方
2. 基本的な使い方

zip -rの基本構文はとてもシンプルで、圧縮後のファイル名と対象のディレクトリを指定するだけです。


zip -r archive.zip myfolder
adding: myfolder/
adding: myfolder/file1.txt

このコマンドではmyfolderディレクトリ全体をarchive.zipとして圧縮しています。フォルダの中にあるすべてのファイルも一緒に圧縮されます。

3. サブディレクトリも含めて圧縮する仕組み

3. サブディレクトリも含めて圧縮する仕組み
3. サブディレクトリも含めて圧縮する仕組み

-rオプションの最大の特徴は、サブディレクトリまで含めて処理する点です。フォルダの中にさらにフォルダがある場合でも、すべてまとめて圧縮されます。


zip -r project.zip project
adding: project/
adding: project/src/
adding: project/src/main.js

このように階層構造を保ったまま圧縮されるため、解凍したときも元の構成がそのまま復元されます。

4. 複数ディレクトリをまとめて圧縮する

4. 複数ディレクトリをまとめて圧縮する
4. 複数ディレクトリをまとめて圧縮する

zip -rは複数のディレクトリやファイルを同時に圧縮することもできます。これにより複数のフォルダを一つのzipファイルにまとめることができます。


zip -r archive.zip dir1 dir2
adding: dir1/
adding: dir2/

複数のプロジェクトやログディレクトリをまとめて保存する場合に便利です。

5. ワイルドカードとの組み合わせ

5. ワイルドカードとの組み合わせ
5. ワイルドカードとの組み合わせ

ワイルドカードを使うことで、特定の条件に合うディレクトリやファイルをまとめて圧縮することも可能です。


zip -r logs.zip *.log
adding: access.log
adding: error.log

このように同じ種類のファイルを一括で処理できるため、大量のデータを扱う場合に効率が良くなります。

6. 実務での活用例

6. 実務での活用例
6. 実務での活用例

zip -rオプションは実務でも非常によく使われます。例えばWebアプリケーションのソースコードをまとめて送る場合や、バックアップとしてディレクトリを保存する場合などです。


zip -r backup.zip project
adding: project/
adding: project/config.yml

フォルダごと圧縮できるため、設定ファイルや構成を含めた完全なバックアップが可能になります。

7. 注意点と安全な使い方

7. 注意点と安全な使い方
7. 注意点と安全な使い方

zip -rを使用する際には、圧縮対象が多い場合に処理時間が長くなる点に注意が必要です。また不要なファイルまで含まれてしまう可能性もあるため、事前に対象を確認することが重要です。

特に一時ファイルや不要なログファイルが含まれると、zipファイルのサイズが大きくなりすぎることがあります。

Linuxコマンドは便利ですが、正しく使うことで効率と安全性を両立できます。

8. 他の圧縮コマンドとの違い

8. 他の圧縮コマンドとの違い
8. 他の圧縮コマンドとの違い

zip -rはディレクトリをそのまま圧縮できる点が特徴ですが、tarコマンドでも同様のことが可能です。ただしzipはWindowsとの互換性が高く、より汎用的に使える点がメリットです。

用途に応じてzipやtarを使い分けることで、より効率的なファイル管理が可能になります。

まとめ

まとめ
まとめ

zip -rオプションの理解を整理する

今回はLinuxの圧縮コマンドの中でも特に実務でよく使われるzip -rオプションについて詳しく解説しました。zip -rはディレクトリを丸ごと圧縮できる機能であり、フォルダの中にあるファイルやサブディレクトリまで含めてまとめて処理できる点が大きな特徴です。

再帰的という言葉は最初は難しく感じるかもしれませんが、フォルダの中身をすべてたどって圧縮するというイメージで理解すると分かりやすくなります。この仕組みを理解することで、Linuxでのファイル管理が一気に楽になります。

特に複数のファイルやフォルダを一つにまとめる作業は、日常的な業務や開発現場でも頻繁に行われるため、zip -rの使い方を身につけることはとても重要です。

基本操作の振り返り

zip -rの基本的な使い方は非常にシンプルで、圧縮後のファイル名と対象ディレクトリを指定するだけです。このシンプルさが初心者にも扱いやすい理由の一つです。


zip -r archive.zip myfolder
adding: myfolder/
adding: myfolder/file1.txt

このコマンド一つでフォルダ全体をまとめて圧縮できるため、複雑な構成のファイルでも簡単に扱うことができます。まずはこの基本操作を確実に覚えることが大切です。

実務で役立つ使い方

実務では複数のディレクトリやファイルをまとめて圧縮する場面が多くあります。例えば開発プロジェクトの一式を共有する場合や、ログファイルをまとめて保存する場合などです。


zip -r project.zip project src config
adding: project/
adding: src/
adding: config/

このように複数のディレクトリをまとめて圧縮することで、ファイル管理が効率化されます。またワイルドカードを使うことでさらに柔軟な操作が可能になります。


zip -r logs.zip *.log
adding: access.log
adding: error.log

同じ種類のファイルをまとめて処理できるため、大量のデータを扱う場面でも非常に役立ちます。

安全に使うためのポイント

zip -rは便利なコマンドですが、対象ディレクトリの中に不要なファイルが含まれていると、そのまま圧縮されてしまう点には注意が必要です。例えば一時ファイルやキャッシュファイルなどが含まれると、zipファイルのサイズが大きくなりすぎることがあります。

そのため、圧縮する前に対象ディレクトリの内容を確認する習慣をつけることが重要です。Linuxではlsコマンドを使って簡単に確認できます。


ls myfolder
file1.txt  file2.txt  temp.tmp

このように事前確認を行うことで、不要なデータを含めずに効率よく圧縮できます。基本的な確認作業が安全な操作につながります。

Linuxコマンドとしての理解を深める

zip -rオプションは単なる圧縮機能ではなく、Linuxにおけるファイル管理の考え方を理解するための重要な要素です。Linuxではコマンドとオプションを組み合わせることで柔軟な操作が可能になります。

今回の内容を通して、ディレクトリ構造を保ったまま圧縮できる仕組みや、効率的なファイル管理の方法について理解できたはずです。こうした知識は日常的な作業だけでなく、開発やサーバ運用でも大きな力になります。

基本をしっかり押さえながら実際にコマンドを試していくことで、Linux操作に自然と慣れていくことができます。

先生と生徒の振り返り会話

生徒

「zip -rオプションでフォルダごと圧縮できるのはとても便利ですね。」

先生

「はい。再帰的に処理されるので、フォルダの中身を全部まとめて扱えます。」

生徒

「サブフォルダも全部含まれるので、プロジェクトをそのまま保存できるのが良いと思いました。」

先生

「その通りです。ただし不要なファイルも含まれる可能性があるので、事前確認が大切です。」

生徒

「これからはzip -rを使って効率よくファイル管理していきます。」

先生

「とても良いですね。基本を理解すればLinuxコマンドはとても強力なツールになります。」

関連記事:
カテゴリの一覧へ
新着記事
New1
Linuxコマンドの基本
Linuxのパイプ(|)とは?複数コマンドをつなげて効率化する方法を完全解説
New2
テキスト・データ処理
tailコマンドとは?Linuxでファイルの末尾を表示する基本をやさしく解説!
New3
ファイル・ディレクトリ操作
find -groupオプションの使い方を解説!初心者でもできる所有グループによるファイル検索
New4
圧縮・アーカイブ
rar xオプションの使い方を完全ガイド!Linuxでディレクトリ構造を保持して展開する方法を初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
圧縮・アーカイブ
gzipコマンドの使い方を完全ガイド!初心者でもわかるLinuxでファイル圧縮の基本