【全て実例付き】Linuxのzipコマンド・オプションの全て

Linux

(最終更新月:2022年9月)

✔このような方へ向けて書かれた記事となります

「Linuxでzipコマンドについて詳しく知りたい」

「zipコマンドのオプションってどんなものがあるの?」

「zipファイルの展開方法や情報取得の方法が知りたい」

✔当記事を通じてお伝えすること

  • zipコマンドの基本知識とオプション一覧
  • zipファイルを展開する方法
  • zipファイルの情報を取得する方法

当記事では、ターミナル上からファイルやフォルダをzip化するだけでなく、zip化したファイルを展開する方法やコメントも含めた情報を取得する方法まで全てわかります。

ぜひ最後までご覧ください。

【著者プロフィール】

profile_icon
【Python歴】11年 x 【Django歴】10年
HP作成、社内システムの構築、コンサルティング

当ブログを通じて、Webアプリの書き方やアプリの公開方法までを解説しています。

☆日報アプリ「D-Repo」(デモ版)→こちら

※Djangoをベースに作成したアプリです。

☆便利ツールアプリ「Tool Station」→こちら

※Django REST frameworkとReactで作成しているアプリです。

公開しているアプリはLinuxOS上に構築したサーバーにより公開しています。

自宅のパソコンからWebサーバーまで全てLinuxを使用している著者による記事となります。

icon
icon

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ファイル名

「archive.zip」を展開するには以下のとおりです。

$ unzip archive.zip
Archive:  archive.zip
 extracting: file1.txt               
 extracting: file2.txt               
 extracting: file3.txt

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ファイルについての知識は充分。

ぜひここでマスターしてください。

最後までご覧いただきありがとうございました。

当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています

「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」

という方は必見です!

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

公式LINEも始めました。ブログの更新や最新の業界情報などを随時配信します!

友だち追加

タイトルとURLをコピーしました