No.066圧縮と転送
zip
ジップ・ZIP作成
ZIP形式のアーカイブを作成、更新、削除します。Windows互換性を重視した受け渡しで特に便利です。
答えよく使う形
$ 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
練習用の部屋です。何を打っても本物は変わりません。本物の Linux で続ける →
どんなコマンド?
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 (...)
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