在 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 下更安全、高效地管理加密压缩包!