Zip 是支持无损数据压缩的最广泛使用的存档文件格式。
Zip 文件是包含一个或多个压缩文件或目录的数据容器。与未压缩文件一样,压缩(压缩)文件占用更少的磁盘空间,可以更快地从一台计算机传输到另一台计算机。使用可用于所有操作系统的实用程序,可以在 Windows、macOS 和 Linux 中轻松提取 Zip 文件。
在本教程中,我们将向您展示如何使用命令在 Linux 中压缩(压缩)文件和目录。zip
zip命令
zip是一个命令行实用程序,可帮助您创建 Zip 存档。
zip 命令采用以下语法形式:
zip OPTIONS ARCHIVE_NAME FILES
复制
若要在特定目录中创建 Zip 存档,用户需要具有该目录的写入权限。
Zip 文件不支持 Linux 样式的所有权信息。提取的文件由运行该命令的用户拥有。
若要保留文件所有权和权限,请使用tar命令。
默认情况下,大多数 Linux 发行版中未安装该实用程序,但您可以使用发行集的包管理器轻松安装它。zip
在 Ubuntu 和 Debian 上安装 Zip
sudo apt install zip
在 CentOS 和 Fedora 上安装 Zip
sudo yum install zip
如何压缩文件和目录
要压缩一个或多个文件,请指定要添加到存档中的文件,如下所示:
zip archivename.zip filename1 filename2 filename3
adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)
默认情况下,该命令打印添加到存档和压缩方法的文件的名称。我们将在本指南的稍后部分解释压缩方法和级别。zip
如果省略扩展名,指定 Zip 存档名称时,除非存档名称包含点,否则将自动添加该扩展名。 将创建与 同名的存档。.zip``zip archivename.zip filename``zip archivename filename
要禁止显示命令的输出,请使用 以下选项:zip``-q
zip -q archivename.zip filename1 filename2 filename3
通常,您将创建目录的 Zip 存档,包括子目录的内容。该选项允许您递归遍整个目录结构。-r
若要创建要使用的目录的 Zip 存档::
zip -r archivename.zip directory_name
您还可以在同一存档中添加多个文件和目录:
zip -r archivename.zip directory_name1 directory_name2 file1 file1
压缩方法和级别
Zip 的默认压缩方法是放气。如果 zip 实用程序确定文件无法压缩,则只需将文件存储在存档中,而无需使用存储方法对其进行压缩。在大多数 Linux 发行版中,zip 实用程序还支持bzip2压缩方法。
若要指定压缩方法,请使用 选项。-Z
zip -r -Z bzip2 archivename.zip directory_name
...adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)
该命令允许您使用编号前缀的从 0 到 9 的编号来指定压缩级别。默认压缩级别为 。使用 时,所有文件将存储在没有压缩。 将强制命令对所有文件使用最佳压缩。zip``-6``-0``-9``zip
例如,要使用压缩级别 ,请键入类似下面的类型:-9
zip -9 -r archivename.zip directory_name
创建受密码保护的 ZIP 文件
如果您有需要存储在存档中的敏感信息,您可以使用以下选项对其进行加密:-e
zip -e archivename.zip directory_name
系统将提示您输入并验证存档密码:
Enter password:Verify password:
创建拆分 Zip 文件
假设您要将 Zip 存档存储在文件大小上传限制为 1GB 且 Zip 存档为 5GB 的文件托管服务上。
您可以使用以下选项(后跟指定大小)创建新的拆分 Zip 文件。乘数可以是 k (千字节)、m (兆字节)、g (千兆字节) 或 T(TB)。-s
zip -s 1g -r archivename.zip directory_name
上述命令将在达到指定大小限制后继续在一个集中创建新存档。
archivename.ziparchivename.z01archivename.z02archivename.z03archivename.z04
邮编示例
创建名为存档名的 Zip 存档.zip包含当前目录中的所有文件。
zip archivename *
与上述相同,包括隐藏文件(以点开始的文件):
zip archivename .* *
创建名为”包含当前目录中所有 MP3 文件”的 Zip 存档,而不压缩文件。archivename.zip
zip -0 archivename *.mp3
结论
在 Linux 中,您可以使用 命令创建 Zip 存档。zip
若要在 Linux 系统上提取 ZIP 存档,可以使用解压缩命令。
如果您想了解有关 Zip 的信息,请访问 Zip Man页面。
