No.066圧縮と転送

zip

ジップ・ZIP作成

知識レベル 基礎安全に試せる一般ユーザーで使える

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

答えよく使う形

  1. ディレクトリごと再帰的にZIPへまとめられます
  2. 作成後に内容一覧を確認すると安全です
  3. ディレクトリを再帰的に追加します
visitor@goodly: ~

$ 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

$ zip archive.zip file1 file2

どんなコマンド?

こんなときに

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

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

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

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

書き方とオプション

組み立ててみるオプションを押すと、下の1行に足されます。もう一度押すと外れます。

$ zip

使用例と実行結果

行を押すとコピーできます。

adding: demo/ (stored 0%)
 adding: demo/a.txt (...)
 adding: demo/b.txt (...)
ディレクトリごと再帰的にZIPへまとめられます。
Archive: demo.zip
 Length   Date  Time  Name
--------- ---------- -----  ----
    6......... .....  demo/a.txt
    6......... .....  demo/b.txt
作成後に内容一覧を確認すると安全です。

まず安全に試す

3分ミッション

手を動かすと覚えやすくなります。できたものに印を付けてください(この端末に残ります)。

0 / 2

つまずいたとき

元ファイルが消えた

原因-mを付けて格納後に元ファイルを削除しました。

こうする原本を残したい時は-mを使わず、作成後に別途整理します。

想定外のファイルまで含まれた

原因-rで広いディレクトリを再帰的に取り込みました。

こうする対象を絞り、必要なら-iや-xで含める対象と除外対象を明示します。

終わったときの数(戻り値)

$ echo $?

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

気をつけることと入れ方

気をつけること

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

環境による違い

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

確かめた環境2026-04-09 に確認

よくある質問

zipは複数ファイルを一つにできますか。

はい。複数ファイルやディレクトリを一つのZIPアーカイブへまとめられます。

tarとどう使い分けますか。

Windowsとの受け渡しや提出物ではZIPが便利です。Linux同士の運用や属性保持を重視する場面ではtar系が向くことがあります。

zip を最後まで読みました。

Linux コマンド辞典に戻る144 / 144

Goodly のメニュー