我想知道是否可以通过 CLI 执行以下操作。
我有一个文件夹F
,其中包含几个子文件夹和一些文件。我想使用“仅密码提取”将文件夹压缩F
成文件。.zip
答案1
cd
使用以下命令转到相关文件夹:
cd /path/to/folder/
(如果您的文件夹F
位于主文件夹中,您只需执行即可cd ~
。)
然后,在终端中输入:
zip -er F.zip F
这将提示您输入密码。输入密码后,系统将从该文件夹创建一个受密码保护的 zip 文件。
-e
为您的 zip 文件启用加密。这会导致它要求输入密码。-r
使命令递归,这意味着文件夹内的所有文件都将添加到 zip 文件中。F.zip
是输出文件的名称。F
是您要压缩的文件夹。
有一个选项叫做-P
这将允许您在命令本身中传递密码,但这并不好,因为总是有过肩偷看的威胁ps -ef
。如果您使用开关,其他用户也可以使用命令查看密码-P
。使用该-P
开关,命令将如下所示:
zip -P password -r F.zip F
- 访问
man zip
了解更多信息。
答案2
zip 文件的加密很弱,很容易被破解。请使用 7zip。
7z a -p Fdirectory.7z /path/to/F
a
命令告诉 7zip 添加文件。-p
您可以将其留空以便以交互方式询问您,或者在此处输入您的密码。Fdirectory.7z
是要创建的档案的名称。/path/to/F
是目录的路径。可以是相对路径,也可以是完整路径。
建议不要在 shell 中输入密码,因为任何有权访问该/proc
目录的人都可以看到它。
然后稍后解密并提取文件:
7z x ../Fdirectory.7z