網上有很多博客都有記錄7z的命令行使用方式,特別雜亂,故特此記錄。
急於使用者可以直接看實例
注:我僅僅記錄我認為常用的命令,畢竟沒有那么多的精力去學習不常用的東西。
簡介
7z,全稱7-Zip, 是一款開源軟件。是目前公認的壓縮比例最大的壓縮解壓軟件。
鏈接:
7z中文主頁
安裝和使用
Windows去官網下載安裝包安裝
linux使用命令安裝:sudo apt install p7zip-full
注:
p7zip、p7zip-full和p7zip-rar三個版本的區別:
p7zip和p7zip-full之間的區別在於p7zip是較輕的版本,僅支持.7z,而完整版本支持更多7z壓縮算法(用於音頻文件等)。
p7zip-rar軟件包提供對7z的RAR文件的支持,在大多數情況下,安裝p7zip-full應該足夠了。
7z命令行的使用格式: 7z <command> [<switch>...] <base_archive_name> [<arguments>...]
這里有兩個參數是必須的,command
和base_archive_name
,對應操作和生成的壓縮文件(或解壓文件)的路徑
command(命令)
command即第一個參數:
command | 說明 |
---|---|
a | 添加文件的壓縮包,或者創建新的壓縮包。 |
d | 從壓縮包中刪除文件。 |
e | 從壓縮包中提取。 |
t | 測試壓縮包的是否出錯。 |
u | 更新壓縮包中的文件。 |
switch(命令對應的參數)
由於command很多,而其對應的switch也不盡相同。
常用的switch
名稱 | 說明 | 簡單例子(只展示參數部分) |
---|---|---|
-m | 壓縮方法,有:Zip、GZip、BZip2、7z、XZ..很多 | -mx5 見補充 |
-t | 壓縮包格式,壓縮時可以指定分卷壓縮, 有*, #(單獨打開一個分卷), 7z, xz, split, zip, gzip, bzip2, tar, .... | -t7z |
-p | 設置密碼 | -p123456 |
-r | 遞歸子目錄,有-r、-r-、-r0 | -r src\*.cpp src\*.h 只壓縮cpp和h格式的文件 |
實例
1 壓縮
測試文件夾的tree:
│ test.py
│
├─ab
│ │ forward.exe
│ │
│ └─sub2
│ ss.doc
│
├─av
│ live.py
│
└─new
music.py
使用的是Windows的命令,有點怪
普通壓縮
7z a archive1.zip subdir\
把subdir(包括subdir本身)進行壓縮,生成文件archive1.zip
同時壓縮多個目錄
7z a archive.zip subdir\av subdir\ab
同時subdir\av、subdir\ab兩個壓縮到archive.zip下
篩選壓縮
7z a file.7z subdir\*.py
使用的是簡單的*
作為通配符。此時file.7z里只有subdir和subdir內的test.py
指定密碼壓縮
7z a file.7z subdir\* -p123456
壓縮subdir內的所有文件,並指定密碼為123456.但是沒有隱藏內部的文件名(7z是可以隱藏壓縮文件內部的文件名的)
指定密碼壓縮--隱藏文件名版
7z a file.7z subdir\* -p123456 -mhe
和上一個版本的唯一區別是隱藏了壓縮文件內部的文件名。
分卷壓縮
7z a file.7z subdir\* -v1K
指定分卷大小為1K,還可以指定其他單位(M、G...)。大小寫不敏感。
其他
如分卷壓縮+指定密碼等組合性的指令不做演示。可以根據參數的使用方法自由組合
2 解壓
普通解壓
7z x file.7z
解壓到當前目錄
解壓到指定目錄
7z x file.7z -ofile/
將file.7z解壓到當前目錄的file文件夾下(不存在是會自動創建)
使用-o解壓到指定目錄
解壓特定文件
7z x file.7z -ofile/ *.py -r
解壓以.py結尾的文件到file文件夾下,注意加上-r。
解壓分卷
前提:分卷是完整的
7z x file.7z.001
注意:
分卷在同一目錄下(使用這個命令是這樣的,其他的不知道)
解壓的是第一個分卷即xxx.001
解壓帶密碼的壓縮包
7z x file.7z -p123456
解壓file.7z,密碼為123456
跳過確認輸入的參數
-y:所有確認選項都默認為是(即不出現確認提示),重復文件時會覆蓋
-aos:跳過已存在的文件
3 刪除
7z d file.7z *.py -r
刪除file.7z內以.py結尾的文件,注意不要忘了 -r
7z d file.7z *.py -r -p123456
帶密碼版
4 更新
7z u file.7z *.py
添加.py結尾的文件到file.7z內
7z u file.7z *.py -p123456
帶密碼版
補充
m參數的使用
m即是壓縮模式,這里展示一下7z的壓縮模式,格式-mxN
N=0~9.
上圖:
以上6個級別分別對應着圖形界面的:僅存儲、極速壓縮、快速壓縮、標准壓縮、最大壓縮、極限壓縮。