このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:ファイルをアーカイブ・圧縮する:zipコマンド

ファイルをアーカイブ・圧縮する:zipコマンド
ファイルやディレクトリをまとめて圧縮する方法として、zip
コマンドがあります。tar
やgzip
とは異なり、zip
コマンドはアーカイブと圧縮を同時に行うため、複数のファイルやディレクトリを一つのファイルに圧縮できます。ここでは、zip
コマンドの基本的な使い方や特徴について、具体的な例や表を用いて分かりやすく解説します。

zipコマンドとは
- 目的:ファイルやディレクトリをまとめて圧縮・アーカイブする。
- 拡張子:
.zip
(コマンド名と同じ)。 - 特徴
・アーカイブと圧縮を同時に行う。
・複数のファイルやディレクトリを一つにまとめる。
・WindowsやmacOSで広く使われており、これらのOSとのデータ共有に便利。
Linuxでのzipファイルの扱い
必要なコマンド
- 圧縮用:
zip
コマンド。 - 展開用:
unzip
コマンド。
インストール方法
CentOSの場合
# yum install zip unzip
Ubuntuの場合
$ sudo apt-get install zip unzip
zipコマンドの基本的な使い方
練習用のファイルを作成
user01@ubuntu:~$ mkdir dir
user01@ubuntu:~$ touch dir/file{1..9}
user01@ubuntu:~$ ls dir
file1 file2 file3 file4 file5 file6 file7 file8 file9
説明
dir
というディレクトリを作成。file1
からfile9
までのファイルを作成。
zipファイルの作成
【書式】zipファイルを作成するzip -r <圧縮ファイル名> <圧縮対象パス>
-r
:ディレクトリ内のファイルを再帰的に圧縮。
例:dir
ディレクトリをdir.zip
というファイルに圧縮
user01@ubuntu:~$ zip -r dir.zip dir
adding: dir/ (stored 0%)
adding: dir/file5 (stored 0%)
adding: dir/file1 (stored 0%)
adding: dir/file8 (stored 0%)
adding: dir/file7 (stored 0%)
adding: dir/file9 (stored 0%)
adding: dir/file4 (stored 0%)
adding: dir/file6 (stored 0%)
adding: dir/file2 (stored 0%)
adding: dir/file3 (stored 0%)
ポイント
-r
オプションを指定しないと、ディレクトリ自体のみが圧縮対象となり、中のファイルは含まれません。そのため、ファイルやディレクトリを圧縮する際は、常に-r
オプションを使用することをおすすめします。
zipファイルの内容を確認
コマンド
user01@ubuntu:~$ zipinfo dir.zip
出力例
Archive: dir.zip
Zip file size: 1472 bytes, number of entries: 10
drwxrwxr-x 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file5
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file1
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file8
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file7
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file9
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file4
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file6
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file2
-rw-rw-r-- 3.0 unx 0 bx stor 24-Dec-04 22:35 dir/file3
10 files, 0 bytes uncompressed, 0 bytes compressed: 0.0%
説明
zipinfo
コマンドでzipファイルの内容を一覧表示。- ファイル数や各ファイルの情報を確認可能。
zipファイルの展開
コマンド
user01@ubuntu:~$ unzip dir.zip
実行例
Archive: dir.zip
replace dir/file5? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
extracting: dir/file5
extracting: dir/file1
extracting: dir/file8
extracting: dir/file7
extracting: dir/file9
extracting: dir/file4
extracting: dir/file6
extracting: dir/file2
extracting: dir/file3
ポイント
- 展開時に既存のファイルがある場合、上書き確認が表示される。
[A]ll
を入力すると、すべてのファイルを一括で上書き。
処理中のファイル名を非表示にする
zipコマンドで非表示
-q
:処理中のファイル名を表示しない(quietモード)。
user01@ubuntu:~$ zip -rq dir.zip dir
unzipコマンドで非表示
-q
:展開時のファイル名を表示しない。
user01@ubuntu:~$ unzip -q dir.zip
活用例
ファイル数が多い場合、出力を抑制して処理を見やすくする。
ここで作成したファイルを削除します
作成したファイルやディレクトリを削除して、クリーンアップを行います。
user01@ubuntu:~$ rm -rf dir dir.zip
- 注意:
rm -rf
コマンドは強力な削除コマンドです。削除対象を十分に確認してから実行してください。
まとめ
zipコマンドの特徴
- アーカイブと圧縮を同時に行える。
- 複数のファイルやディレクトリを一つにまとめられる。
- WindowsやmacOSとのデータ交換に便利。
基本操作
- 圧縮:
zip -r <圧縮ファイル名> <圧縮対象パス>
- 展開:
unzip <圧縮ファイル名>
主なオプション
オプション | 説明 |
---|---|
-r | ディレクトリ内を再帰的に圧縮 |
-q | 処理中のファイル名を非表示にする(quietモード) |
注意点
zip
やunzip
コマンドがインストールされていない場合は、パッケージをインストールする必要がある。- 展開時の上書き確認に注意し、適切な選択肢を入力する。
応用
- クロスプラットフォームでのファイル共有。
- スクリプトや自動化処理での活用。
これで、zip
コマンドを使用したファイルのアーカイブ・圧縮方法の解説を終わります。実際にコマンドを試して、使い方に慣れていきましょう。