(最終更新月:2022年9月)
✔このような方へ向けて書かれた記事となります
「Linuxでzipコマンドについて詳しく知りたい」
「zipコマンドのオプションってどんなものがあるの?」
「zipファイルの展開方法や情報取得の方法が知りたい」
✔当記事を通じてお伝えすること
- zipコマンドの基本知識とオプション一覧
- zipファイルを展開する方法
- zipファイルの情報を取得する方法
当記事では、ターミナル上からファイルやフォルダをzip化するだけでなく、zip化したファイルを展開する方法やコメントも含めた情報を取得する方法まで全てわかります。
ぜひ最後までご覧ください。
公開しているアプリはLinuxOS上に構築したサーバーにより公開しています。
自宅のパソコンからWebサーバーまで全てLinuxを使用している著者による記事となります。
zipコマンドとは?
zipコマンドは、ターミナル上でzipファイルを作成するものです。
zipコマンドの基本知識として、以下を見ていきます。
- zipコマンドの基本構成
- zipコマンドの使用例
- そもそもzipファイルって何?
zipコマンドの基本構成
zipコマンドの基本構成は以下のとおりとなります。
zip オプション zipファイル名 ファイル名
- オプション: -(ハイフン)から始まる、コマンドに新たな機能を追加できるものです。
- zipファイル名: .zもしくは.zipが拡張子になります。
- ファイル名: zipファイルにしたいファイル名を指定します。
zipコマンドの使用例
zipコマンドの使用例を解説します。
まずは以下のコマンドで、zipがインストールされているかを見てみましょう。
zip -v
もしzipがインストールされていないなら、以下のコマンドでインストールしてから先にすすみましょう。
sudo apt install zip
ファイルをzip化
zip ZIPファイル名 zip化したいファイル名
「archive.zip」がZIPファイル名で、「file1.txt」をzip化すると以下のとおり。
$ zip archive.zip file1.txt
adding: file1.txt (stored 0%)
フォルダをzip化
zip -r ZIPファイル名 zip化したいフォルダ名
「archive.zip」がZIPファイル名で、「dir1」がzip化したいフォルダの場合は以下の通り。
$ zip -r archive2.zip dir1
adding: dir1/ (stored 0%)
adding: dir1/file2.txt (stored 0%)
複数のファイルをzip化
zip ZIPファイル名 zip化したいファイル① zip化したいファイル② ・・・
「file1.txt」「file2.txt」をZIP化します。
$ zip archive3.zip file1.txt file2.txt
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
「*」を使う方法もあります。
zip ZIPファイル名 *.ファイル拡張子
txtファイルを全てZIP化するには以下のとおりです。
$ zip archive4.zip *.txt
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
既存のzipファイルにあとから追加
既存のzipに追加するには、ZIPファイル名を既存のZIPファイル名にすれば追加できます。
$ zip archive.zip file2.txt
adding: file2.txt (stored 0%)
そもそもzipファイルって何?
zipファイルは、複数のファイルを同箇所に集めて、圧縮したものです。
同箇所に集めるとは、一つのフォルダに入れているイメージですが、サイズを圧縮することで、データの保存や転送がより簡単になります。
拡張子は、「.zip」で表されます。
zipコマンドのオプション一覧
zipコマンドに、オプションを付けると、新たな機能が追加されます。
こちらでは以下のオプションについて解説していきます。
- ディレクトリを追加: -r
- パスワード付き: -e
- 既存zipからファイルを削除: -d
- zipファイルを更新: -f / -u
- コメントを追加: -z
ディレクトリを追加: -r
-rオプションを追加すると、ディレクトリをZIP化できます。
$ zip -r archive55.zip dir1
adding: dir1/ (stored 0%)
adding: dir1/file3.txt (stored 0%)
パスワード付き: -e
-eオプションを追加すると、ZIPファイルにパスワードがつけられます。
zip -e pwd.zip file1.txt file2.txt
Enter password: <パスワードは表示されません>
Verify password: <パスワードは表示されません>
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
既存zipからファイルを削除: -d
-dオプションで、ZIPファイルから指定したファイルやフォルダを削除できます。
$ zip -d archive.zip file1.txt
deleting: file1.txt
zipファイルを更新: -f / -u
-fや-uオプションは、ファイルを更新する際に使えるオプションです。
違いは以下の通り。
- -fオプション:変更したファイルのみ更新
- -uオプション:変更したファイルと新しいファイルを更新
$ zip -f archive.zip file1.txt file2.txt file3.txt
freshening: file1.txt (stored 0%)
-fオプションでは、変更してないファイルや新しいファイルは更新・追加されません。
上記の例では、file1.txtのみ新しくなっているので、追加されます。
$ zip -u archive.zip file1.txt file2.txt file3.txt
updating: file1.txt (stored 0%)
adding: file3.txt (stored 0%)
-uオプションでは、変更したファイルと新しいファイルが更新・追加されます。
コメントを追加: -z
-zオプションでは、コメントを追加できます。
zip -z archive2.zip *.txt
adding: file1.txt (stored 0%)
adding: file2.txt (stored 0%)
adding: file3.txt (stored 0%)
adding: new1.txt (stored 0%)
enter new zip file comment (end with .):
this is a comment.
.
コメントは「.(ドット)」を入力すれば完了となります。
zipファイルを展開:unzipコマンド
ZIP化したファイルを展開する方法は以下のとおりです。
unzip ZIPファイル名
unzipの実例
「archive.zip」を展開するには以下のとおりです。
$ unzip archive.zip
Archive: archive.zip
extracting: file1.txt
extracting: file2.txt
extracting: file3.txt
unzipで文字化けするときは
Ocp932オプションを追加すれば、日本語の文字化けを回避できます。
$ unzip -Ocp932 [解凍したいファイル名].zip
-Ocp932(ハイフン、大文字のオー、シー、ピー、932)
zipファイルの情報を見る:zipinfoコマンド
ZIPINFOコマンドでは、ZIPファイルの中身や詳細が確認できます。
こちらでは以下の2つをご紹介します。
- 情報を確認する方法
- コメントも含めて確認する方法
情報を確認する方法
基本的な使い方は以下のとおり。
zipinfo ZIPファイル名
「archive.zip」を見てみましょう。
$ zipinfo archive.zip
Archive: archive.zip
Zip file size: 644 bytes, number of entries: 4
-rw-rw-r-- 3.0 unx 13 tx stor 22-Sep-21 15:52 file1.txt
-rw-rw-r-- 3.0 unx 0 bx stor 22-Sep-17 09:43 file2.txt
-rw-rw-r-- 3.0 unx 0 bx stor 22-Sep-17 11:03 file3.txt
-rw-rw-r-- 3.0 unx 9 tx stor 22-Sep-17 10:59 new1.txt
4 files, 22 bytes uncompressed, 22 bytes compressed: 0.0%
コメントも含めて確認する方法:-zオプション
-zオプションで、コメントも表示されられます。
見てみましょう。
$ zipinfo -z archive.zip
Archive: archive.zip
this is a comment.
Zip file size: 644 bytes, number of entries: 4
-rw-rw-r-- 3.0 unx 13 tx stor 22-Sep-21 15:52 file1.txt
-rw-rw-r-- 3.0 unx 0 bx stor 22-Sep-17 09:43 file2.txt
-rw-rw-r-- 3.0 unx 0 bx stor 22-Sep-17 11:03 file3.txt
-rw-rw-r-- 3.0 unx 9 tx stor 22-Sep-17 10:59 new1.txt
4 files, 22 bytes uncompressed, 22 bytes compressed: 0.0%
コメントはこの位置になります。
まとめ:LinuxでZIPファイルを扱うならZIPコマンドがおすすめ
当記事の内容をまとめます。
- zipコマンドとは、任意のファイルやフォルダをZIP化できるコマンド
- オプションを使うとさまざまな機能が追加できる
- unzipやzipinfoコマンドを覚えておくととても便利
zipコマンドはLinuxやMacで使えるファイルやフォルダをzip化するコマンドです。
zip以外にも、unzipやzipinfoコマンドも使いこなせば、zipファイルについての知識は充分。
ぜひここでマスターしてください。
✔Linuxの主要コマンド37選