本文是Linux命令学习系列的一部分。zip文件是包含一个或多个文件的压缩档案。它被广泛用作无损数据压缩技术。由于压缩,它占用更少的磁盘空间并且需要更少的数据通过计算机网络传输。这些压缩文件可以在Linux、Windows和macOS中轻松提取。有多种软件支持压缩zip文件并提供解压缩它们的功能。由于它的流行,几乎所有的操作系??统都内置了这个功能。在本教程中,我们将讨论几种基于终端的方法来压缩Linux中的文件。Linux中的Zip命令示例语法在Linux中,您需要用来压缩文件的程序名称是zip。下面是基本语法:zip[压缩文件名]file1file2file3下面是官方语法:zip[-options][-bpath][-tmmddyyyy][-nsuffixes][zipfilelist][-xilist]理想情况下,zip命令应该安装在所有主要的Linux发行版上。如果没有,请使用以下命令安装它。在Debian、Ubuntu和相关发行版上安装sudoaptinstallzip在基于Fedora、RHEL的系统上安装sudodnfinstallzip在ArchLinux上安装pacman-Szip让我们继续看一些例子。如何压缩文件和文件夹我的测试目录中有以下三个文件。它们是file1.txt、file2.txt和file3.txt。如果我想压缩三个文件并创建一个myfiles.zip存档,我可以使用以下命令。zipmyfiles.zipfile1.txtfile2.txtfile3.mp3输出:adding:file1.txt(stored0%)adding:file2.txt(stored0%)adding:file3.mp3(deflated13%)Linux中的基本压缩命令这里的输出是您应该记住的几个关键点。创建zip文件时,您应该对当前目录具有修改权限。zip文件格式不包含权限,即读取(4)、写入(2)和执行(1)。因此,创建文件的用户成为文件的所有者。如果您想使用带权限的zip,请尝试使用tar命令(在本教程后面解释)。在上面的输出中,zip命令显示了添加到存档中的文件名和压缩方法。不必在目标文件名中指定.zip文件扩展名。如果省略.zip,zip将在末尾添加.zip。当你操作成百上千个文件时,为了减少终端的输出,可以在zip命令中使用-q参数抑制输出:zip-qmyfiles.zipfile1.txtfile2.txtfile3.txt递归压缩子文件夹zip命令的-r选项允许您包含所有子目录。此选项递归遍历到目录结构的最后一个子目录,并将它们全部添加到存档中。以下命令创建一个包含my_folder的所有内容和子目录的zip文件:zip-rmyfolder.zipmy_folder您还可以使用通配符(*)在zip文件中包含特定类型的文件文件:zip-0my_movies。zip*.mp4mix将文件和目录添加到存档使用上述所有选项,zip命令允许您将文件和目录一起指定为参数。zip-rmyfiles.zipfile1.txtfile2.txtfile3.txtmy_folder1my_folder2压缩算法zip压缩的默认输出包含两个不同的词,deflate和store。zip使用的默认压缩方法是deflate。如果成功压缩文件,输出显示deflate。当它不能压缩文件时,它只是将它们原封不动地存储在.zip文件中。这些文件的输出显示为存储。目前有很多压缩算法。其中之一是bzip2压缩方法,Linux中的zip命令支持这种方法。您可以指定要用作命令选项的压缩算法。使用选项-Z后跟算法名称,如下所示:zip-r-Zbzip2myfolder.zipmy_folder压缩级别zip命令还允许您指定压缩级别。压缩级别是您希望zip优化多少以减小包大小。它是一个从0到9的数字范围。压缩级别9的值是最高压缩。默认值为6。请记住,如果您压缩数千个不同大小的文件,这可能会占用大量资源并花费大量时间。因此,如果您在程序中使用它或使用shell脚本处理大文件,请遵循正确的编程标准。zip-9-rmyfolder.zipmy_folder密码保护压缩文件您还可以使用以下-e选项对压缩文件进行密码保护:zip-e-rmyfolder.zipmy_folder运行此命令后,将要求输入密码.注意。尽量不要使用zip命令对压缩文件进行密码保护。zip的加密算法是使用流加密的PKZIP。而且很容易破解。如果您想保护您的文件,请使用7-Zip或其他高级工具。拆分较大的压缩文件许多应用程序、服务器和文件共享可能包含固定大小的文件上传限制。例如,您有一个10GB的文件,但该服务只允许每个文件1GB。使用zip的-s选项,您可以将其压缩并拆分成几部分以便上传。zip-s1g-rmyfolder.zipmy_folder总结您学习了zip命令的一些基础知识。对于大多数需要使用即时压缩进行快速备份的本地情况,它很有用。但是,对于更高级的选项,您应该使用7-Zip或其他命令,我将在接下来的几篇文章中分享这些命令。同时,您可以在zip手册中了解更多信息。
