可以使用p7zip软件中的7z命令或7za命令
p7zip 是 7-Zip 在 Linux 下的命令行版本。它的核心命令是 7z(或 7za),后面跟上动作指令(比如 a 代表压缩,x 代表解压)和相关的参数。
安装
yum install -y p7zip
使用
1、压缩文件/目录
7z a myarchive.7z /path/to/folder
将 /path/to/folder 目录打包并压缩成 myarchive.7z。a 代表 "add"(添加)。
2、解压到当前目录
7z x myarchive.7z
将压缩包解压到当前文件夹,并保留原始的目录结构。这是最推荐的方式。
3、解压到指定目录
7z x myarchive.7z -o/home/user/output
将压缩包解压到 /home/user/output 目录。注意:-o 和目录路径之间没有空格。
4、查看压缩包内容
7z l myarchive.7z
列出压缩包里的所有文件,但不会解压。l 代表 "list"(列出)。
注意
不要把 7z 格式用于Linux系统备份。因为 7z 格式本身不会保存文件的属主(owner)和用户组(group)信息。
如果你需要备份系统或其他重要数据,可以:先用 tar 打包(保留权限),再用 7z 压缩。解压时反向操作即可:
tar cf - /data | 7z a -si backup.tar.7z
7z x -so backup.tar.7z | tar xf -
7z或7za命令所有参数
命令(Commands)
| 命令 | 说明 |
|---|---|
a | 添加文件到压缩包 |
b | 基准测试(测试CPU性能) |
d | 从压缩包中删除文件 |
e | 解压文件(不保留目录结构,所有文件解压到同一目录) |
h | 计算文件的哈希值 |
i | 显示支持的压缩格式信息 |
l | 列出压缩包内容 |
rn | 重命名压缩包中的文件 |
t | 测试压缩包的完整性 |
u | 更新压缩包中的文件 |
x | 解压文件并保留完整目录路径(推荐) |
开关/选项(Switches)
| 开关 | 说明 |
|---|---|
-- | 停止解析后续开关(用于文件名以 - 开头的情况) |
-ai[r[-|0]]{@列表文件|!通配符} | 指定需要包含的压缩包 |
-ax[r[-|0]]{@列表文件|!通配符} | 指定需要排除的压缩包 |
-ao{a|s|t|u} | 设置覆盖模式: - a=覆盖所有- s=跳过已存在- t=重命名已存在- u=重命名已存在 |
-an | 禁用压缩包名称字段 |
-bb[0-3] | 设置输出日志级别(0=不输出,3=最详细) |
-bd | 禁用进度条显示 |
-bs{o|e|p}{0|1|2} | 设置输出/错误/进度行的输出流 |
-bt | 显示执行时间统计 |
-i[r[-|0]]{@列表文件|!通配符} | 指定需要包含的文件名 |
-m{参数} | 设置压缩方法参数 |
-mmt[N] | 设置使用的 CPU 线程数(N 为数字) |
-o{目录} | 设置输出目录 |
-p{密码} | 设置压缩包密码 |
-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[{名称}] | 创建自解压(SFX)压缩包 |
-si[{名称}] | 从标准输入读取数据 |
-slp | 启用大内存页模式 |
-slt | 为 l(列表)命令显示技术信息 |
-snh | 将硬链接作为链接存储 |
-snl | 将符号链接作为链接存储 |
-sni | 存储 NT 安全信息 |
-sns[-] | 存储 NTFS 备用数据流 |
-so | 将数据写入标准输出 |
-spd | 禁用文件名的通配符匹配 |
-spe | 消除解压时根目录的重复 |
-spf | 使用完整的文件路径 |
-ssc[-] | 设置大小写敏感模式 |
-ssw | 压缩共享文件(正在被其他程序打开的文件) |
-stl | 将压缩包时间戳设置为最近修改文件的时间 |
-stm{十六进制掩码} | 设置 CPU 线程亲和性掩码 |
-stx{类型} | 排除指定的压缩包类型 |
-t{类型} | 设置压缩包类型(如 -tzip、-t7z) |
-u[-][p#][q#][r#][x#][y#][z#][!新压缩包名] | 更新选项(高级用法) |
-v{大小}[b|k|m|g] | 创建分卷压缩包(如 -v10m 表示每卷10MB) |
-w[{路径}] | 设置工作目录(空路径表示使用临时目录) |
-x[r[-|0]]{@列表文件|!通配符} | 排除指定的文件名 |
-y | 所有询问都回答“是”(自动确认) |
4432

被折叠的 条评论
为什么被折叠?



