1 | 7z
|
2 | ===
|
3 |
|
4 | 拥有极高压缩比的开源压缩软件。
|
5 |
|
6 | ## 安装
|
7 |
|
8 | 在 Linux 中输入以下命令安装 7-Zip。
|
9 |
|
10 | ```bash
|
11 | # Ubuntu 系统
|
12 | apt-get update
|
13 | apt-get install p7zip-full -y
|
14 |
|
15 | # CentOS 参考:https://linuxconfig.org/how-to-install-p7zip-on-redhat-8
|
16 | sudo yum install epel-release
|
17 | yum install p7zip p7zip-plugins
|
18 |
|
19 | ```
|
20 |
|
21 | ## 实例
|
22 |
|
23 | 介绍几个常用场景:解压、压缩、查看(压缩包内容)。
|
24 |
|
25 | 1、将压缩文件 text.7z 在当前目录下解压缩。
|
26 |
|
27 | ```bash
|
28 | 7z x text.7z
|
29 | ```
|
30 |
|
31 | 2、将压缩文件 text.7z 在指定目录(/home/text)下解压缩。
|
32 |
|
33 | ```bash
|
34 | # 注意 -o 用来指定解压缩文件存放目录,-o 后是没有空格的,直接接目录
|
35 | 7z x text.7z -r -o/home/text
|
36 | ```
|
37 |
|
38 | 3、将压缩文件 text.7z 中的 `dir1/dir2` 和 `dir1/file1` 提取到在指定目录(/home/text)下(保持原有路径结构)。
|
39 |
|
40 | ```bash
|
41 | # 注意 dir1/dir2,dir1/file1 为压缩包中文件或文件夹路径
|
42 | 7z x text.7z dir1/dir2 dir1/file1 -o/home/text
|
43 | ```
|
44 |
|
45 | 4、将文件 /home/text 压缩成 text.7z。
|
46 |
|
47 | ```bash
|
48 | 7z a text.7z -r /home/text
|
49 | ```
|
50 |
|
51 | 5、查看压缩包 text.7z 内容,但不解压。
|
52 |
|
53 | ```bash
|
54 | 7z l text.7z
|
55 | ```
|
56 |
|
57 | ## help 信息翻译
|
58 |
|
59 | ```shell
|
60 | 使用方法: 7z <命令> [<开关>...] <archive_name> [<file_names>...]
|
61 |
|
62 | <命令>
|
63 | a : 添加文件到压缩包
|
64 | b : 基准测试
|
65 | d : 从压缩包中删除文件
|
66 | e : 从压缩包中提取文件(不使用目录名)。
|
67 | h : 计算文件的哈希值
|
68 | i : 显示支持的格式信息
|
69 | l : 列出压缩包的内容
|
70 | rn : 重命名压缩包中的文件
|
71 | t : 测试压缩包的完整性
|
72 | u : 更新压缩包中的文件
|
73 | x : 提取完整路径的文件
|
74 |
|
75 | <开关>
|
76 | -- : 停止对 - 开头的开关和 @ 开头的文件列表的解析,为了允许 7-Zip 使用以 - 和 @ 开头的文件名。
|
77 | -ai[r[-|0]]{@listfile|!wildcard} : 包括指定压缩包文件
|
78 | -ax[r[-|0]]{@listfile|!wildcard} : 排除指定压缩包文件
|
79 | -ao{a|s|t|u} : 设置覆写模式
|
80 | -aoa 覆盖所有现有文件,无提示。
|
81 | -aos 跳过提取现有文件。
|
82 | -aou 自动重命名提取的文件(例如,name.txt 将重命名为 name_1.txt)。
|
83 | -aot 自动重命名现有文件(例如,name.txt 将重命名为 name_1.txt)。
|
84 | -an : 禁用压缩包名称字段解析,必须与 -ai 开关一起使用。
|
85 | -bb[0-3] : 设置输出日志级别
|
86 | -bb0 禁用日志(默认)。
|
87 | -bb1 或 -bb 在日志中显示已处理文件的名称。
|
88 | -bb2 显示在压缩包文件中跳过的文件名称(对于 “提取” 操作)和重新打包的文件名称(对于 “添加” / “更新” 操作)
|
89 | -bb3 显示 “添加” / “更新” 操作的其他操作(分析、复制)信息。
|
90 | -bd : 禁用进度指示器
|
91 | -bs{o|e|p}{0|1|2} : 设置输出/错误/进度行的输出流
|
92 | o 标准输出信息
|
93 | e 错误信息
|
94 | p 进度信息
|
95 | 0 禁用流
|
96 | 1 重定向到标准输出流
|
97 | 2 重定向到标准错误流
|
98 | -bt : 显示执行时间统计
|
99 | -i[r[-|0]]{@listfile|!wildcard} : 包括文件名
|
100 | -m{Parameters} : 设置压缩方法
|
101 | -mmt[N] : 设置 CPU 线程的数量
|
102 | -mx[N] : 设置压缩级别: -mx1 (最快) ... -mx9 (超强),-mx0(不压缩)
|
103 | -o{Directory} : 设置输出目录
|
104 | -p{Password} : 设置密码
|
105 | -r[-|0] : 重新搜索子目录
|
106 | -sa{a|e|s} : 设置压缩包名称模式
|
107 | -scc{UTF-8|WIN|DOS} : 设置控制台输入/输出的字符集。
|
108 | -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : 设置列表文件的字符集。
|
109 | -scrc[CRC32|CRC64|SHA1|SHA256|*] : 为x、e、h命令设置哈希函数。
|
110 | -sdel : 压缩后删除文件
|
111 | -seml[.] : 通过电子邮件发送压缩包
|
112 | -sfx[{name}] : 创建 SFX 压缩包
|
113 | -si[{name}] : 从标准输入读取数据
|
114 | -slp : 设置大型页面模式
|
115 | -slt : 显示l(List)命令的技术信息
|
116 | -snh : 将硬链接存储为链接
|
117 | -snl : 将符号链接存储为链接
|
118 | -sni : 存储 NT 安全信息
|
119 | -sns[-] : 存储 NTFS 备用流
|
120 | -so : 向标准输出写数据
|
121 | -spd : 禁用文件名的通配符匹配
|
122 | -spe : 消除提取命令中根文件夹的重复。
|
123 | -spf[2] : 使用完全合格的文件路径
|
124 | -ssc[-] : 设置敏感的大小写模式
|
125 | -sse : 如果无法打开某些输入文件,则停止创建压缩包
|
126 | -ssp : 压缩包时不更改源文件的最后访问时间
|
127 | -ssw : 压缩共享文件
|
128 | -stl : 从最近修改的文件设置压缩包时间戳
|
129 | -stm{HexMask} : 设置 CPU 线程亲和力掩码(十六进制数字)。
|
130 | -stx{Type} : 排除压缩包类型
|
131 | -t{Type} : 设置压缩包的类型
|
132 | -u[-][p#][q#][r#][x#][y#][z#] [!newArchiveName] : 更新选项
|
133 | -v{Size}[b|k|m|g] : 创建卷
|
134 | -w[{path}] : 指定工作目录。空的路径意味着一个临时目录
|
135 | -x[r[-|0]]{@listfile|!wildcard} : 排除文件名。
|
136 | -y : 假设所有的查询都是肯定的
|
137 | ```
|
138 |
|
139 | ## 官网
|
140 |
|
141 | 更多安装使用方法可以访问官网学习:[https://www.7-zip.org/](https://www.7-zip.org/)
|
142 | 或者可以访问简体中文网站:[https://sparanoid.com/lab/7z/](https://sparanoid.com/lab/7z/)
|