unzip 是 Linux 系統中專門用於解壓縮 ZIP 格式壓縮檔的標準工具。它支援多種參數選項,能夠靈活處理列出壓縮包內容、測試完整性、指定解壓目錄、排除特定檔案等操作,且完整相容 Windows 建立的 ZIP 檔案。
-c:將解壓結果輸出到標準輸出(螢幕),並對字元做適當轉換。-f:更新現有檔案(僅解壓較新的檔案)。-l:列出壓縮檔內包含的檔案清單,不實際解壓。-p:類似 -c,但不執行字元轉換,直接輸出原始資料。-t:測試壓縮檔是否完好,不解壓。-u:更新現有檔案,並將壓縮包中其他檔案解壓到目錄。-v:執行時顯示詳細資訊(如壓縮比、檔案大小等)。-z:僅顯示壓縮檔的註釋文字。-a:對文字檔進行必要的字元轉換(如換行符)。-b:不對文字檔進行字元轉換。-C:檔名區分大小寫(預設不區分)。-j:忽略壓縮包內原有的目錄結構,將所有檔案解壓到同一目錄。-L:將壓縮包內所有檔名轉為小寫。-M:將輸出導向 more 程式分頁顯示。-n:解壓時不覆蓋已存在的檔案。-o:不提示直接覆蓋已存在檔案。-q:安靜模式,不顯示任何資訊。-s:將檔名中的空白字元轉換為底線。-V:保留 VMS 檔案版本資訊。-X:解壓時保留檔案原始的 UID/GID。-P <密碼>:指定解壓密碼(不安全,建議避免在腳本中使用)。-d <目錄>:指定解壓後檔案儲存的目標目錄。-x <檔案>:排除不處理的檔案(支援萬用字元)。-Z:等同於執行 zipinfo 指令,顯示壓縮包詳細資訊。$ unzip text.zip
在當前目錄下解壓 text.zip,預設會覆蓋詢問。
$ unzip -n text.zip -d /tmp
將檔案解壓到 /tmp 目錄,若同名檔案已存在則跳過。
$ unzip -v text.zip
顯示詳細檔案清單、大小、壓縮比等資訊,不解壓。
$ unzip -t text.zip
檢查 ZIP 檔是否損壞,適合備份驗證。
$ unzip text.zip -x "*.log" "temp/*"
解壓時排除所有 .log 檔及 temp/ 目錄下的檔案。
Linux 內建的 unzip 完整支援 Windows 建立的 ZIP 格式,跨平台交換檔案無需額外工具。若需處理加密 ZIP,建議使用 7z(p7zip 套件)以獲得更佳的加密演算法支援。