zip — 建立 ZIP 壓縮封存檔

建立跨平台的 ZIP 壓縮封存檔,相容性最佳。

語法

zip [選項] 封存檔.zip 檔案...

常用選項

選項 說明 範例
-r, --recurse-paths 遞迴包含子目錄 zip -r archive.zip dir/
-9 最高壓縮率(較慢) zip -9 archive.zip file
-e, --encrypt 加密壓縮(需輸入密碼) zip -e secure.zip file
-u 只更新已在封存檔中且較新的檔案 zip -u archive.zip new_file
-d 從封存檔中刪除指定的檔案 zip -d archive.zip old_file
-l 列出封存檔內容(等同 unzip -l) zip -l archive.zip
-j 不儲存目錄結構,所有檔案放在同一層 zip -j flat.zip path/to/file
-v 詳細輸出 zip -rv archive.zip dir/
-x 樣式 排除符合樣式的檔案 zip -r archive.zip . -x "*.log"

使用範例

範例 1:壓縮整個目錄

遞迴將 project 目錄打包成 project.zip,保留目錄結構。

$ zip -r project.zip ./project/
adding: project/ (stored 0%)
adding: project/README.md (deflated 45%)
adding: project/src/main.py (deflated 62%)
範例 2:排除特定類型的檔案

壓縮時排除 .log 和 node_modules,常用於打包部署包。

$ zip -r deploy.zip . -x "*.log" -x "node_modules/*" -x ".git/*"
範例 3:加密 ZIP(設定密碼)

建立有密碼保護的 ZIP 檔,適合傳送敏感資料。

$ zip -re secrets.zip confidential.pdf
Enter password: 
Verify password: 
adding: confidential.pdf (deflated 34%)
範例 4:查看 ZIP 內容

不解壓縮,只列出封存檔中的所有檔案。

$ unzip -l archive.zip
Archive:  archive.zip
  Length      Date    Time    Name
--------  ---------- -----   ----
    4096  2026-05-20 09:00   project/README.md
  102400  2026-05-20 09:00   project/app.tar.gz

常見錯誤與排錯

zip: command not found
原因
zip 未安裝。
解法
sudo apt install zip unzip(Debian/Ubuntu)。

延伸閱讀