萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux zip/unzip 指令完整教學:壓縮、解壓縮、參數詳解與實戰範例

zip 壓縮指令

基本語法

zip [參數] [壓縮後檔名] [來源路徑]

常用參數表

參數說明
-r遞迴處理子目錄(壓縮目錄必加)
-q安靜模式,不顯示執行過程
-m壓縮後刪除原始檔案(移動模式)
-o將壓縮檔內所有檔案時間設為壓縮當下時間
-n <字尾>排除特定副檔名(如 -n .log:.tmp)
-S包含系統/隱藏檔案
-F嘗試修復損壞的壓縮檔
-t <日期>設定壓縮檔最後修改日期(格式 mmddyyyy)
-a轉換為 ASCII 模式(文字檔跨平台)

實戰範例

# 絕對路徑壓縮
zip -q -r html.zip /home/Blinux/html

# 相對路徑壓縮(在 /home/Blinux 下執行)
zip -q -r html.zip html

# 當前目錄下所有檔案壓縮
zip -q -r html.zip *

unzip 解壓縮指令

基本語法

unzip [參數] 壓縮檔

常用參數

參數說明
-l列出壓縮檔內容(不解壓)
-v詳細模式顯示壓縮率、權限等資訊
-d <目錄>指定解壓目標目錄
-o覆寫既有檔案不提示
-q安靜模式
-x <檔案>排除特定檔案不解壓
-P <密碼>指定密碼(不安全,建議用環境變數)

實戰範例

# 解壓至當前目錄
unzip test.zip

# 解壓至指定目錄
unzip -d /target/path test.zip

# 僅查看內容
unzip -l test.zip

# 覆寫模式解壓
unzip -o test.zip

進階技巧與注意事項

  • 中文檔名編碼: 跨平台解壓易亂碼,建議使用 unzip -O CP936(舊版)或 7z x(支援 UTF-8)
  • 分卷壓縮: zip -s 100m -r big.zip large_dir 每卷 100MB
  • 加密壓縮: zip -e secret.zip file.txt 會提示輸入密碼
  • 排除版本控制目錄: zip -r project.zip project -x "*/.git/*" "*/.svn/*"
  • 保留權限與連結: zip 預不保留符號連結,需加 -y 存為連結而非檔案內容

替代工具推薦

  • tar + gzip/xz/bzip2: Linux 原生、保留完整權限/屬性、串流處理大檔
  • 7z (p7zip-full): 壓縮率最高、支援多執行緒、UTF-8 檔名完美支援
  • pigz: 多核心並行 gzip,大檔案壓縮提速數倍

掌握 zip/unzip 核心參數與實戰模式,配合 tar/7z 互補,即可應對各類 Linux 壓縮備份需求。

copyright © 萬盛學電腦網 all rights reserved