Linux文件压缩与解压之7z

指令

a 添加

d 删除

e 解压

x 带路径解压

l 列表查看

t 测试

u 更新

选项

-m 压缩方式

-m0=压缩算法 默认使用 lzma

-mx=数字 1~9 压缩级别

-mfb=64 number of fast bytes for LZMA = 64

-md=字典大小 设置字典大小,例如 -md=32m

-ms=on|off 是否固实压缩

-o输出目录 设置输出目录

-p密码 使用密码

-r数字 递归,使用数字定义递归子目录的深度

-sfx[模块名称] 使用自解压模块

-si 从标准输入设备读入数据

-so 将数据写入标准输出设备

-y 所有询问均回答 Yes

-w路径 设置工作目录

用法
7za <命令> [<参数开关>…] <档案名称> [<文件名称>|<@列表文件…>]
在方括号内的表达式(“[” 和 “]”之间的字符)是可选的。在书名号内的表达式(“<” 和 “>”之间的字符)是必须替换的表达式(而且要去掉括号)。

7-Zip 支持和 Windows 相类似的通配符:
”可以使用星号代替零个或多个字符。
“?”可以用问号代替名称中的单个字符。
如果只用
,7-Zip 会将其视为任何扩展名的全部文件。

命令
a: 添加到压缩文件

b: 基准测试

d: 从档案中删除文件

e: 解压档案文件 (无目录名称)

l: 列出压缩文件内容

t: 测试压缩文件的完整性

u: 更新文件到压缩文件中

x: 完整路径下解压文件

参数开关
-ai[r[-|0]]{@列表文件|!通配符}: 包括 压缩文件

-ax[r[-|0]]{@列表文件|!通配符}: 排除 压缩文件

-bd: 禁用百分比显示功能

-i[r[-|0]]{@列表文件|!通配符}: 包括 文件名称

-m{参数}: 设置压缩算法

-o{目录}: 设置输出目录

-p{密码}: 设置密码

-r[数字]: 递归子目录,使用数字定义递归子目录的深度

-scs{UTF-8 | WIN | DOS}: 设置列表文件的编码格式

-sfx[{名称}]: 创建 SFX 自解压文件

-si[{名称}]: 从stdin(标准输入设备)读取数据

-slt: 为 l (列表) 命令显示技术信息

-so: 将数据写入stdout(标准输出设备)

-ssc[-]: 设置大小写区分模式

-ssw: 压缩共享文件

-t{类型}: 设置压缩文件格式,(7z, zip, gzip, bzip2 or tar. 7z是默认的格式)

-v{大小}[b|k|m|g]: 分卷压缩

-u[-][p#][q#][r#][x#][y#][z#][!新建档案_名称]: 更新选项

-w[{路径}]: 指定工作目录,路径为空时代表临时文件夹目录

-x[r[-|0]]]{@列表文件|!通配符}: 排除 文件名称

-y: 所有询问选是

使用’-m’参数,即设置压缩算法时,有许多选项可以进行设置。

-m<压缩方式>,关于它有许多参数及指令,这里仅介绍简单且常用的用法。
-m0=<压缩算法> 默认使用 lzma

-md=<字典大小> 设置字典大小,例如 -md=32m

-mfb=64 number of fast bytes for LZMA = 64

-ms= 是否固实压缩

-mx=<1~9> 压缩级别

更多关于’-m’参数的使用,请参考此处。

退出代码
0 :正常,没有错误

1 :警告,没有致命的错误,例如某些文件正在被使用,没有被压缩

2 :致命错误

7 :命令行错误

8 :没有足够的内存

255 :用户中止了操作

命令示例

a 添加文件到压缩档案
7z a archive1.zip subdir\ :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived1.zip中的文件名包含subdir\前缀。

7z a archive2.zip .\subdir* :增加subdir文件夹下的所有的文件和子文件夹到archive1.zip中,archived2.zip中的文件名不包含subdir\前缀。

cd /D c:\dir1\
7z a c:\archive3.zip dir2\dir3\ :archiive3.zip中的文件名将包含dir2\dir3\前缀,但是不包含c:\dir1前缀。

7z a Files.7z *.txt -r : 增加当前文件夹及其子文件夹下的所有的txt文件到Files.7z中。

b 测试 CPU 运行速度及检查内存错误

d 从压缩档案删除文件
7z d freeoarch.7z *.bak -r :从freeoarch.7z中删除所有的bak文件。

e 从压缩档案中释放文件到当前目录中,或者到指定的输出文件夹。输出文件夹设置可以通过 -o (设置输出文件夹)选项来更改,此命令会将所有被释放的文件放置到一个文件夹。如果您想使用完整路径释放文件,您必须使用 x (完整路径释放) 命令。

7z e freeoarch.7z :从压缩档案 freeoarch.7z 中释放所有文件到当前文件夹。

7z e freeoarch.7z -oc:\soft .cpp :从压缩档案 freeoarch.7z 中释放 .cpp 文件到 c:\soft 文件夹。

l 列出压缩档案内容
7z l freeoarch.7z :列出压缩档案 freeoarch.7z 的内容。

t 测试压缩档案文件的完整性
7z t freeoarch.7z .doc :在压缩档案 freeoarch.7z 中测试 .doc 文件的完整性。

u 在压缩档案文件中使用较新的文件替换掉较旧的文件
7z u freeoarch.7z .doc :在压缩档案 freeoarch.7z 中更新 .doc 文件。

x 在当前目录中,使用完整路径从压缩档案中释放文件.或者到指定的输出文件夹
7z x freeoarch.7z :从压缩档案 freeoarch.7z 中释放所有文件到当前文件夹。

7z x freeoarch.7z -oc:\soft .cpp :从压缩档案 freeoarch.7z 中释放 .cpp 文件到 c:\soft 文件夹。

-------------本文结束感谢阅读-------------