zip ジップ

英語表記zip

日本語表記ZIP作成

正式名称zip

危険度安全

What does it mean?

ZIP形式のアーカイブを作成、更新、削除します。Windows互換性を重視した受け渡しで特に便利です。

Command Quest

zip を今日の道具にする

ZIP形式のアーカイブを作成、更新、削除します。Window...

$ zip [オプション]... アーカイブ名 対象... zip [オプション]... -r アーカイブ名 ディレクトリ... zip [オプション]... -d アーカイブ名 項目名...
関連用語2
次のコマンド0
FAQ2
参照2

概要

ZIP形式のアーカイブを作成、更新、削除します。Windows互換性を重視した受け渡しで特に便利です。

基本構文

zip [オプション]... アーカイブ名 対象...
zip [オプション]... -r アーカイブ名 ディレクトリ...
zip [オプション]... -d アーカイブ名 項目名...

詳細解説

zipは、ファイルやディレクトリをZIP形式のアーカイブへまとめるコマンドです。Linux同士ではtar系がよく使われますが、Windowsを含む環境での受け渡しではZIP形式の互換性が高く、実務で出番があります。

zipは新規作成だけでなく、既存アーカイブへの更新、不要項目の削除、ディレクトリの再帰取り込み、格納後の元ファイル削除なども行えます。単一ファイル専用ではなく、複数ファイルやディレクトリをまとめて扱えるのが重要な点です。

ただし、-mは格納後に元ファイルを削除します。提出物や配布物の作成では、まず通常の作成を行い、必要ならunzip -lやzip -Tで内容確認と整合性確認を行うのが安全です。

このコマンドを使う場面

Windowsとの受け渡し用アーカイブを作る時、提出物や配布物を一つにまとめたい時、既存ZIPへファイルを追加、更新、削除したい時に使います。

まず安全に試す方法

1. mkdir demo
2. printf "hellon" > demo/a.txt
3. printf "worldn" > demo/b.txt
4. zip -r demo.zip demo
5. unzip -l demo.zip
6. zip -T demo.zip

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. 小さなディレクトリをzip -rでまとめ、unzip -lで中身を確認します。

  2. zip -Tで作成済みZIPの整合性を確認します。

オプション

  • -r
    ディレクトリを再帰的に追加します。
    zip -r archive.zip dir
  • -u
    既存項目を更新し、新しい項目を追加します。
    zip -u archive.zip changed.txt
  • -d
    アーカイブ内の項目を削除します。
    zip -d archive.zip old.txt
  • -j
    ディレクトリ名を保存せず、ファイル名だけ格納します。
    zip -j archive.zip dir/file.txt
  • -m
    格納後に元ファイルを削除します。
    zip -m archive.zip temp.txt
  • -T
    作成済みアーカイブの整合性を検査します。
    zip -T archive.zip

実行結果サンプル

  • mkdir demo printf "hellon" > demo/a.txt printf "worldn" > demo/b.txt zip -r demo.zip demo
    adding: demo/ (stored 0%)
     adding: demo/a.txt (...)
     adding: demo/b.txt (...)
  • unzip -l demo.zip
    Archive: demo.zip
     Length   Date  Time  Name
    --------- ---------- -----  ----
        6......... .....  demo/a.txt
        6......... .....  demo/b.txt

戻り値コード

  • 0 正常終了。処理に成功しました。
  • >0 対象不存在、破損、権限不足、上書き不可などで処理できませんでした。

使用例

  • zip archive.zip file1 file2
  • zip -r archive.zip dir
  • zip -u archive.zip changed.txt
  • zip -d archive.zip old.txt
  • zip -T archive.zip

よくあるエラー

  • 元ファイルが消えた
    原因: -mを付けて格納後に元ファイルを削除しました。
    対処: 原本を残したい時は-mを使わず、作成後に別途整理します。
  • 想定外のファイルまで含まれた
    原因: -rで広いディレクトリを再帰的に取り込みました。
    対処: 対象を絞り、必要なら-iや-xで含める対象と除外対象を明示します。

導入・互換性情報

zipはInfo-ZIP系実装が広く使われます。最小構成では未導入のことがあります。権限情報やリンク、文字コードの扱いは作成元と展開先の環境差で影響を受けることがあります。

注意点 / セキュリティリスク

危険度は低いですが、-mを付けると格納後に元ファイルを削除します。再帰取り込みでは想定外のファイルまで含めやすいため、対象を確認してから実行します。

FAQ

  • Q. zipは複数ファイルを一つにできますか。
    A. はい。複数ファイルやディレクトリを一つのZIPアーカイブへまとめられます。
  • Q. tarとどう使い分けますか。
    A. Windowsとの受け渡しや提出物ではZIPが便利です。Linux同士の運用や属性保持を重視する場面ではtar系が向くことがあります。

関連用語

  • compression
  • build artifact

参照リンク

関連記事