Linux zip命令教程:详解文件压缩和解压缩(附实例详解和注意事项)

发布时间:2024年01月10日

Linux Zip命令介绍

Zip命令在Linux中使用,用于压缩和打包文件。此命令可提取ZIP存档中的文件,并更新或删除ZIP 存档中的文件。它支持不同的压缩方法、级别和加密选项。您还可以创建分割的Zip文件和密码保护的ZIP文件。

Linux Zip命令适用的Linux版本

Zip命令适用于大多数Linux发行版本,包括但不限于Ubuntu、Debian、Fedora、CentOS等。在一些Linux发行版本中,可能需要手动安装zip和unzip命令。在CentOS中,可以使用以下命令进行安装:

[linux@bashcommandnotfound.cn ~]$ sudo yum install zip unzip     #For CentOS 7
[linux@bashcommandnotfound.cn ~]$ sudo dnf install zip unzip     #For CentOS 8
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install zip unzip #Ubuntu、Debian

Linux Zip命令的基本语法

以下是Zip命令的基本语法:

zip [options] archive_name file_name

其中,options 是命令行选项(如 -r 用于递归压缩),archive_name 是要创建的存档文件的名称,file_name 是要添加到存档中的文件名。

Linux Zip命令的常用选项或参数说明

以下是Zip命令的一些常用选项:

选择描述
-r递归压缩,在压缩目录时需要使用
-m压缩后移除原文件。
-x排除指定文件。
-e创建密码保护的压缩包。
-q安静模式,压缩过程中不在屏幕显示消息。

Linux Zip命令实例详解

实例1:简单的压缩文件

创建一个名为archive.zip的压缩文件,其中包含当前目录中的所有文件:

[linux@bashcommandnotfound.cn ~]$ zip archive *

实例2:使用-r选项压缩目录

使用 -r 选项可以递归地压缩目录:

[linux@bashcommandnotfound.cn ~]$ zip -r archive dir/

注:在此命令中,archive 是新建存档的名称,dir/ 是要压缩的目录。

实例3:创建密码保护的ZIP文件

我们可以使用 -e 选项让zip命令提示您输入密码。以下命令会创建一个受密码保护的zip文件:

[linux@bashcommandnotfound.cn ~]$ zip -e archive.zip file1 file2

在此命令中, file1file2 是要添加到存档中的文件,zip命令会提示您两次输入密码。

实例4:排除特定文件

想压缩一个目录,但希望排除某些文件或目录,请使用-x选项。比如,以下命令将压缩 dir 目录下的所有文件和目录,但将排除所有 .txt 和 .doc 文件:

[linux@bashcommandnotfound.cn ~]$ zip -r archive.zip dir/ -x *.txt *.doc

此处的 -x 选项后面跟随的是一个模式列表,用于指定要排除的文件。

实例5:压缩多个文件和目录

如果你要在一个命令中压缩多个文件和目录,可以将它们全部列在命令后面,如下所示:

[linux@bashcommandnotfound.cn ~]$ zip archive.zip file1 dir1 file2 dir2

在这个命令中, file1, dir1, file2, 和 dir2 是要添加到 zip 存档中的文件和目录。

实例6:使用-q选项

当你急于获得操作结果,在压缩过程中不希望屏幕显示任何消息,可以使用-q选项。例如:

[linux@bashcommandnotfound.cn ~]$ zip -q archive.zip file1 file2

在上面的命令中,zip命令将不会输出任何消息,只有在发生错误时,例如存档已存在或找不到文件,它将显示错误消息。

实例7:使用-m选项

想要在压缩文件后移除原文件,可以使用 -m 选项。比如:

[linux@bashcommandnotfound.cn ~]$ zip -m archive.zip file1 file2

此命令将创建一个名为 archive.zip 的新的zip文件,并从文件系统中删除 file1file2

实例8:使用 -u 选项更新现有的ZIP文件

如果已有一个zip文件,你想添加新的文件或更新已存在的文件,可以使用-u选项。例如:

[linux@bashcommandnotfound.cn ~]$ zip -u archive.zip file1

在这个命令中,file1将被添加到archive.zip中,如果archive.zip中已有一个叫做file1的文件,它将被新的file1替代。

实例9:从ZIP文件中删除文件

要从zip文件中删除特定的文件,可以使用-d选项。例如:

[linux@bashcommandnotfound.cn ~]$ zip -d archive.zip file1

在这个命令中,file1将从archive.zip中被删除。

实例10:创建分割的ZIP文件

如果你要创建一个较大的Zip文件,可以把它分割成多个较小的部分。你可以使用-s选项 followed by the size of the parts. 比如要创建一个最大部分为5MB的zip文件:

[linux@bashcommandnotfound.cn ~]$ zip -s 5m -r split.zip dir1/

在这个命令中,dir1/是你想要压缩的目录,split.zip 将被分割成多个5MB的部分。

实例11:查看ZIP文件的信息

有时,我们可能需要检查ZIP文件中包含的文件和目录。可以使用-l选项查看archive.zip中的文件列表:

[linux@bashcommandnotfound.cn ~]$ zip -sf archive.zip

实例12:压缩文件并附加注释

zip命令允许在压缩文件时添加注释。仅需使用-z选项,如下所示:

[linux@bashcommandnotfound.cn ~]$ zip -z archive.zip file1 file2

运行命令后,命令行将提示您输入注释。输入注释后,按CTRL + D保存并退出。

Linux Zip命令的注意事项

  • 在解压文件时要小心文件的覆盖,尽量在了解情况后执行命令。
  • 有时候,ZIP 存档文件可能会损坏,所以在删除原始文件之前,确保ZIP文件压缩正确。
  • 如果遇到bash: zip: command not found,请按照上述方法进行安装。

Linux Zip相关命令

更多详细内容可以参考:
linux入门学习教程 - Linux入门自学网
Linux zip命令教程:如何高效地压缩和解压缩文件

文章来源:https://blog.csdn.net/u012964600/article/details/135403930
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。