7z——擁有極高壓縮比的開源壓縮軟體

浅吟清风發表於2024-11-11

本系列轉自:https://github.com/jaywcjlove/linux-command,後不再贅述

7z

擁有極高壓縮比的開源壓縮軟體。

安裝

在 Linux 中輸入以下命令安裝 7-Zip。

# Ubuntu 系統
apt-get update
apt-get install p7zip-full -y

# CentOS    參考:https://linuxconfig.org/how-to-install-p7zip-on-redhat-8
sudo yum install epel-release
yum install p7zip p7zip-plugins

例項

介紹幾個常用場景:解壓、壓縮、檢視(壓縮包內容)。

1、將壓縮檔案 text.7z 在當前目錄下解壓縮。

7z x text.7z

2、將壓縮檔案 text.7z 在指定目錄(/home/text)下解壓縮。

# 注意 -o 用來指定解壓縮檔案存放目錄,-o 後是沒有空格的,直接接目錄
7z x text.7z -r -o/home/text

3、將壓縮檔案 text.7z 中的 dir1/dir2dir1/file1 提取到在指定目錄(/home/text)下(保持原有路徑結構)。

# 注意 dir1/dir2,dir1/file1 為壓縮包中檔案或資料夾路徑
7z x text.7z dir1/dir2 dir1/file1 -o/home/text

4、將檔案 /home/text 壓縮成 text.7z。

7z a text.7z -r /home/text

5、檢視壓縮包 text.7z 內容,但不解壓。

7z l text.7z

help 資訊翻譯

使用方法: 7z <命令> [<開關>...] <archive_name> [<file_names>...]

<命令>
  a : 新增檔案到壓縮包
  b : 基準測試
  d : 從壓縮包中刪除檔案
  e : 從壓縮包中提取檔案(不使用目錄名)。
  h : 計算檔案的雜湊值
  i : 顯示支援的格式資訊
  l : 列出壓縮包的內容
  rn : 重新命名壓縮包中的檔案
  t : 測試壓縮包的完整性
  u : 更新壓縮包中的檔案
  x : 提取完整路徑的檔案

<開關>
  -- : 停止對 - 開頭的開關和 @ 開頭的檔案列表的解析,為了允許 7-Zip 使用以 - 和 @ 開頭的檔名。
  -ai[r[-|0]]{@listfile|!wildcard} : 包括指定壓縮包檔案
  -ax[r[-|0]]{@listfile|!wildcard} : 排除指定壓縮包檔案
  -ao{a|s|t|u} : 設定覆寫模式
    -aoa 覆蓋所有現有檔案,無提示。
    -aos 跳過提取現有檔案。
    -aou 自動重新命名提取的檔案(例如,name.txt 將重新命名為 name_1.txt)。
    -aot 自動重新命名現有檔案(例如,name.txt 將重新命名為 name_1.txt)。
  -an : 禁用壓縮包名稱欄位解析,必須與 -ai 開關一起使用。
  -bb[0-3] : 設定輸出日誌級別
    -bb0 禁用日誌(預設)。
    -bb1 或 -bb 在日誌中顯示已處理檔案的名稱。
    -bb2 顯示在壓縮包檔案中跳過的檔名稱(對於 “提取” 操作)和重新打包的檔名稱(對於 “新增” / “更新” 操作)
    -bb3 顯示 “新增” / “更新” 操作的其他操作(分析、複製)資訊。
  -bd : 禁用進度指示器
  -bs{o|e|p}{0|1|2} : 設定輸出/錯誤/進度行的輸出流
    o 標準輸出資訊
    e 錯誤資訊
    p 進度資訊
    0 禁用流
    1 重定向到標準輸出流
    2 重定向到標準錯誤流
  -bt : 顯示執行時間統計
  -i[r[-|0]]{@listfile|!wildcard} : 包括檔名
  -m{Parameters} : 設定壓縮方法
    -mmt[N] : 設定 CPU 執行緒的數量
    -mx[N] : 設定壓縮級別: -mx1 (最快) ... -mx9 (超強),-mx0(不壓縮)
  -o{Directory} : 設定輸出目錄
  -p{Password} : 設定密碼
  -r[-|0] : 重新搜尋子目錄
  -sa{a|e|s} : 設定壓縮包名稱模式
  -scc{UTF-8|WIN|DOS} : 設定控制檯輸入/輸出的字符集。
  -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : 設定列表檔案的字符集。
  -scrc[CRC32|CRC64|SHA1|SHA256|*] : 為x、e、h命令設定雜湊函式。
  -sdel : 壓縮後刪除檔案
  -seml[.] : 透過電子郵件傳送壓縮包
  -sfx[{name}] : 建立 SFX 壓縮包
  -si[{name}] : 從標準輸入讀取資料
  -slp : 設定大型頁面模式
  -slt : 顯示l(List)命令的技術資訊
  -snh : 將硬連結儲存為連結
  -snl : 將符號連結儲存為連結
  -sni : 儲存 NT 安全資訊
  -sns[-] : 儲存 NTFS 備用流
  -so : 向標準輸出寫資料
  -spd : 禁用檔名的萬用字元匹配
  -spe : 消除提取命令中根資料夾的重複。
  -spf[2] : 使用完全合格的檔案路徑
  -ssc[-] : 設定敏感的大小寫模式
  -sse : 如果無法開啟某些輸入檔案,則停止建立壓縮包
  -ssp : 壓縮包時不更改原始檔的最後訪問時間
  -ssw : 壓縮共享檔案
  -stl : 從最近修改的檔案設定壓縮包時間戳
  -stm{HexMask} : 設定 CPU 執行緒親和力掩碼(十六進位制數字)。
  -stx{Type} : 排除壓縮包型別
  -t{Type} : 設定壓縮包的型別
  -u[-][p#][q#][r#][x#][y#][z#] [!newArchiveName] : 更新選項
  -v{Size}[b|k|m|g] : 建立卷
  -w[{path}] : 指定工作目錄。空的路徑意味著一個臨時目錄
  -x[r[-|0]]{@listfile|!wildcard} : 排除檔名。
  -y : 假設所有的查詢都是肯定的

官網

更多安裝使用方法可以訪問官網學習:https://www.7-zip.org/
或者可以訪問簡體中文網站:https://sparanoid.com/lab/7z/

相關文章