#2.4 Linux 基本指令 nano 和 cat (Linux 机器学习 教程教学 tutorial)
目录:
Zip是使用最广泛的存档文件格式,支持无损数据压缩。
压缩文件是一种数据容器,其中包含一个或多个压缩文件或目录。 与未压缩的文件相比,压缩(压缩)文件占用的磁盘空间更少,可以更快地从一台计算机传输到另一台计算机。 使用适用于所有操作系统的实用程序,可以在Windows,macOS和Linux中轻松提取Zip文件。
在本教程中,我们将向您展示如何使用
zip
命令在Linux中压缩(压缩)文件和目录。
zip
命令
zip
是一个命令行实用程序,可帮助您创建Zip存档。
zip命令采用以下语法形式:
zip OPTIONS ARCHIVE_NAME FILES
要在特定目录中创建Zip存档,用户需要对该目录具有写权限。
Zip文件不支持Linux风格的所有权信息。 提取的文件归运行命令的用户所有。
要保留文件所有权和权限,请使用
tar
命令。
默认情况下,大多数Linux发行版中未安装
zip
实用程序,但是您可以使用发行版的程序包管理器轻松安装它。
在Ubuntu和Debian上安装Zip
在CentOS和Fedora上安装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的默认压缩方法是deflate 。 如果zip实用程序确定无法压缩文件,则仅将文件存储在存档中,而无需使用store方法对其进行压缩。 在大多数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%)
zip
命令允许您使用带0到9的短划线作为前缀的数字来指定压缩级别。默认压缩级别是
-6
。 使用
-0
,所有文件都将不压缩地存储。
-9
将强制
zip
命令对所有文件使用最佳压缩率。
例如,要使用压缩级别
-9
,您可以输入以下内容:
zip -9 -r archivename.zip directory_name
压缩级别越高,zip进程的CPU使用率就越高,并且需要花费更多的时间来完成。
创建受密码保护的ZIP文件
zip -e archivename.zip directory_name
系统将提示您输入并验证存档密码:
Enter password: Verify password:
创建拆分的Zip文件
假设您要将Zip存档存储在文件上传服务上,该服务的文件大小上传限制为1GB,而Zip存档为5GB。
您可以使用
-s
选项以及指定的大小来创建一个新的拆分Zip文件。 乘数可以是k(千字节),m(兆字节),g(千兆字节)或t(兆字节)。
zip -s 1g -r archivename.zip directory_name
达到指定的大小限制后,上面的命令将继续在一个集中创建新档案。
archivename.zip archivename.z01 archivename.z02 archivename.z03 archivename.z04
ZIP示例
创建一个名为archivename.zip的Zip存档,其中包含当前目录中的所有文件。
zip archivename *
与上述相同,包括隐藏文件(以点开头的文件):
zip archivename.* *
创建一个名为
archivename.zip
的Zip存档,其中包含当前目录中的所有MP3文件,而不压缩这些文件。
结论
在Linux中,您可以使用
zip
命令创建Zip存档。
要在Linux系统上提取ZIP归档文件,可以使用unzip命令。
邮编终端






