Winzip、Winrar是Windows操作系统中流行的打包和压缩工具。Winzip在旧时代非常流行,这使得zip压缩算法也很流行。目前,很多文件和文件夹也是用zip算法压缩的。Minix、Atari、MacOS和Android也支持Zip压缩。在本文中,我们将讨论如何使用zip算法进行压缩和解压缩。
为Ubuntu、Debian、Mint和Kali安装Zip
要使用zip功能,应下载所需的软件包默认情况下不安装这些软件包。我们将安装名为 zip
和 unzip
对于基于deb的分布。
$ sudo apt-get install zip unzip -y

为Fedora、CentOS和RHEL安装Zip
我们可以用 yum
安装程序包管理器 zip
.
$ sudo yum install zip
zip命令语法
zip命令使用以下语法。它接受多个文件和文件夹压缩与一个单一的步骤。
zip OPTIONS ARCHIVE INPATH INPATH ...
-
OPTIONS
将用于设置zip命令的某些属性或行为,如压缩级别等。 -
ARCHIVE
将要创建的压缩文件的名称。 -
INPATH
是我们可以压缩的文件和文件夹。可能有多个INPATH。
压缩文件
我们将从一个简单的示例开始,其中我们将压缩一个名为 report.xm
并将其压缩到一个名为 report.zip
. 我们可以从输出中看到,压缩级别约为63%。
$ zip report.zip report.xml

用Zip压缩多个文件
我们可以压缩多个文件与zip命令,我们将添加所有的文件和文件夹在命令的最后作为一个参数。在此示例中,将名为report.xml、workspace/、example.txt的文件和文件夹压缩到名为 backup.zip
.
$ zip backup.zip report.xml workspace/ example.txt httpd-2.4.38.tar.bz2.asc package.json

根据扩展名压缩多个文件
我们可以根据扩展名压缩多个文件。我们将使用glob for bash并提供扩展名,如txt、png、XML等。在本例中,我们将扩展名为*.txt的文本文件压缩到名为textu backup.zip的存档文件中。
$ zip text_backup.zip *.txt

压缩文件夹和目录
压缩文件不需要zip命令选项,但压缩文件夹需要zip命令的递归标志。为了压缩目录或文件夹,我们必须提供 -r
选项如下。
$ zip -r backup.zip perl5/ masscan/ nmap/

通过搜索压缩文件
find命令可用于通过搜索特定文件的名称、扩展名、大小等来查找该文件,然后我们可以使用zip命令压缩文件或文件夹。在本例中,我们将在当前工作目录中搜索扩展名为txt的文件,并将其压缩到当前路径中。
$ find . -name "*.txt" -print | zip source [email protected]

解压缩或解压缩Zip文件
解压比压缩容易我们只提供了压缩文件的解压命令。在本例中,我们将解压缩名为 text\备份.zip。如果存在相同的文件,我们可能会被问到替换问题。
$ unzip text_backup.zip

从Zip存档中提取特定文件
我们可以像下面这样从zip存档中解压缩特定的文件。在本例中,我们将提取以rc作为扩展名的文件。
$ unzip test.zip *rc
这将只提取以结尾的文件 rc
.
相关文章: 如何在Windows中以多种方式打开Zip文件?