Linux 下使用 7z 进行带密码压缩与解压的完整指南
在 Linux 环境下管理文件时,7z 凭借其极高的压缩比和强大的加密功能,成为了常用的压缩工具之一。本文将为您详细介绍如何在 Linux 终端中使用 7z 命令进行带密码的压缩、解压以及安全加密技巧。
1. 带密码压缩文件/文件夹
在 7z 中,设置密码的核心参数是 -p。需要特别注意的是:**-p 与密码之间不能有空格**。
1.1 基础快捷压缩(直接指定密码)
如果你想在命令中直接写明密码,可以使用以下格式:
1 | 7z a -p你的密码 压缩包名.7z 要压缩的文件或文件夹 |
示例: 将名为 my_folder 的文件夹压缩为 secure.7z,密码设为 123456:
1 | 7z a -p123456 secure.7z my_folder |
1.2 安全隐藏输入(推荐)
在命令行中直接暴露明文密码会被记录在 Linux 的历史命令(history)中,存在安全隐患。更安全的做法是只输入 -p,不紧跟密码:
1 | 7z a -p secure.7z my_folder |
按下回车后,终端会弹出盲输提示,此时输入密码即可(屏幕上不会显示任何字符):
1 | Enter password (will not be echoed): |
1.3 高级技巧:加密文件名(-mhe=on)
默认情况下,普通的 -p 加密后,别人虽然无法解压,但依然可以使用 7z l 命令或者双击查看压缩包内的文件名列表。
如果你想连文件名也一起锁住(不输入密码连里面有什么文件都看不到),需要开启 Header 加密(Blocks Header Encryption):
1 | 7z a -p -mhe=on secure_all.7z my_folder |
2. 解压带密码的压缩包
解压时,我们通常使用 x 参数(Extract),它可以完整保持原有的目录结构。
2.1 安全交互解压(推荐)
直接执行解压命令,让系统提示你输入密码。
1 | 7z x secure.7z |
随后在终端弹出的提示中盲输密码并回车:
1 | Enter password (will not be echoed): |
2.2 脚本/自动化解压(直接带密码)
如果你正在编写自动化 Shell 脚本,可以直接把密码写在命令里:
1 | 7z x -p你的密码 压缩包名.7z |
示例:
1 | 7z x -p123456 secure.7z |
2.3 解压到指定目录(-o)
默认情况下 7z 会解压到当前路径。如果想释放到指定文件夹,可以使用 -o 参数(注意:**-o 与路径之间同样不能有空格**):
1 | 7z x secure.7z -o/path/to/target_folder/ |
3. 核心参数速查表
| 参数 | 功能说明 | 避坑提示 |
|---|---|---|
a |
添加文件到压缩包 (Archive) | 后面接压缩包名 |
x |
解压并保持目录结构 (eXtract) | 推荐使用,不会打乱文件夹 |
-p |
设置或输入密码 (Password) | 后面紧跟密码,不能加空格 |
-mhe=on |
开启头部加密 (Header Encryption) | 隐藏压缩包内的文件名列表 |
-o |
指定输出目录 (Output) | 后面紧跟路径,不能加空格 |
总结
- 临时用用:
7z a -p123456 archive.7z folder - 追求安全:
7z a -p -mhe=on archive.7z folder - 日常解压:
7z x archive.7z
希望这篇教程能帮你在 Linux 下更安全、高效地管理加密压缩包!
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 J. Xu!
评论










