Linux zip和zipcloak命令都可以创建加密的 zip 文件,但它们有一些重要且有趣的区别。以下是您需要了解的有关它们的工作原理以及使用它们时应该了解的内容。
压缩
zip命令提供了一种简单的方法来获取一组文件并将它们的内容压缩到一个较小的文件中。要将一组文件合并为一个文件(通常这样做是为了更容易将它们复制到其他系统),请使用如下所示的命令。第一个参数是用于 zip 文件的名称,后面是要包含的文件列表。
$ zip 文件.zip 文件 1 文件 2
添加:file1(缩小 58%)
添加:file2(缩小 60%)
下面的命令提供了一个简单的示例,其中文件被加入到一个加密的 zip 文件中。请注意,指定生成的 zip 文件将被加密的-e选项。如果您没有在每次提示时输入相同的密码,该命令将失败。
$ zip -e files.zip 文件 1 文件 2输入密码:验证密码:
添加:file1(缩小 58%)
添加:file2(缩小 60%)
zip命令不仅将文件存储在一起,而且在处理过程中减小了文件的大小。这些示例中的 zip 文件小于两个文件总和的一半大小。注意上面显示的输出中的“缩小”行。
-rw-r—r—。1 shs shs 2224 11 月 19 日 14:18 文件 1
-rw-r—r—。1 shs shs 6712 11 月 19 日 14:18 文件 2
-rw-r—r—。1 shs shs 3993 11 月 19 日 14:19 files.zip
原始文件在添加到加密的 zip 文件后,之后可以删除,但您需要保留使用的密码,以便以后提取内容。
您还可以使用zip命令以递归方式收集文件并将它们包含在单个 zip 文件中。下面是一个示例命令,它会将 bin 目录中的所有文件放入名为“bin.zip”的文件中。
$ zip -r bin.zip ~/bin
虽然zip命令可以创建加密文件,但它不能加密现有的 zip 文件。为此,您可以使用zipcloak命令或完成提取 zip 文件内容的过程,然后使用-e选项重新压缩它们以将它们以加密形式放回原处。
注意:无论是否加密,Zip 文件都小于其中包含的单独文件的集合。
拉链斗篷
zipcloak命令在一个非常重要的方面与 zip 不同:它将加密或解密现有的 zip 文件,但它不会自己创建 zip 文件。要使用zipcloak命令加密 zip 文件,请使用如下所示的命令。
$ zipcloak 文件.zip
输入密码:
验证密码:
加密:文件1
加密:文件2
$ ls -l 文件.zip
-rw-r—r—。1 shs shs 3961 11 月 19 日 14:30 files.zip
加密后,生成的文件与未加密创建的文件大小几乎相同。在这种情况下,它只是小了一点。
解压缩
unzip命令将提取 zip 文件的内容,无论它们是否加密。但是,它会询问加密文件的密码。
$ 解压缩 efiles.zip
存档:efiles.zip
[efiles.zip] file1 密码:
充气:文件1
充气:文件2
如果目录中存在同名文件,系统将询问您是否要覆盖它们。此外,如果您不想提取所有文件,您可以从 zip 文件中选择单个文件。以下是提取单个文件并选择覆盖当前文件的示例:
$ 解压缩 efiles.zip 文件 2
存档:efiles.zip
[efiles.zip] file2 密码:
替换文件2?[y]es, [n]o, [A]ll, [N]one, [r]ename: y
充气:文件2
兼容性
zip和zipcloak命令是正确兼容的。unzip命令可以从未加密和加密的 zip 文件中提取内容,并且无论文件是使用zip -e(加密)命令还是zipcloak命令加密的,都可以按预期工作。类似地,zipcloak -d(解密)命令将解密加密的 zip 文件,无论它是使用zip -e命令还是zipcloak命令加密的。
包起来
Zip 文件通常用于在本地备份可能正在更改的文件组,或者一次将一组文件复制到其他系统。zip和unzip命令使您可以轻松地创建 zip 文件或从中提取内容。zipcloak命令允许您加密 zip 文件或从加密的 zip 文件中提取。