unzip — 解壓縮 ZIP 格式封存檔

解壓縮 ZIP 格式封存檔,支援查看內容與選擇性解壓縮。

語法

unzip [選項] 封存檔.zip [要解壓的檔案...]

常用選項

選項 說明 範例
-d 目錄 解壓縮到指定目錄 unzip archive.zip -d /opt/app/
-l 列出封存內容(不解壓) unzip -l archive.zip
-t 測試封存檔完整性 unzip -t archive.zip
-o 覆蓋現有檔案(不詢問) unzip -o archive.zip
-n 不覆蓋現有檔案 unzip -n archive.zip
-j 忽略目錄結構,所有檔案解壓到同一目錄 unzip -j archive.zip
-p 將內容輸出到標準輸出(不寫入檔案) unzip -p archive.zip file.txt | grep keyword
-x 樣式 解壓縮時排除符合樣式的檔案 unzip archive.zip -x "*.tmp"
-P 密碼 提供解壓縮密碼 unzip -P password secret.zip

使用範例

範例 1:解壓縮到當前目錄

最基本用法,解壓縮到當前目錄(保留原始 zip 檔)。

$ unzip archive.zip
Archive:  archive.zip
  inflating: project/README.md
  inflating: project/src/main.py
範例 2:解壓縮到指定目錄

使用 -d 解壓縮到 /opt/app/ 目錄(目錄可不事先存在)。

$ unzip release.zip -d /opt/app/
範例 3:查看封存內容

不解壓縮,只列出 ZIP 封存內的所有檔案和大小。

$ unzip -l release-v2.0.zip
Archive:  release-v2.0.zip
  Length      Date    Time    Name
--------  ---------- -----
    4096  2026-05-20 09:00   app
  102400  2026-05-20 09:00   app/server.py
--------                     ------
  106496                     2 files
範例 4:只解壓縮特定檔案

只從封存中解壓縮指定的檔案。

$ unzip archive.zip project/config.yml
  inflating: project/config.yml

常見錯誤與排錯

unzip: cannot find or open archive.zip
原因
指定的 zip 檔案不存在。
解法
確認路徑和檔名是否正確,注意大小寫。
skipping: file.txt need PK compat. v5.1 (can do v4.6)
原因
ZIP 使用較新的壓縮方式或加密標準,系統的 unzip 版本太舊。
解法
升級 unzip:sudo apt upgrade unzip,或使用 7z 等替代工具。

延伸閱讀