Zip文件是包含一个或多个压缩文件或目录的数据容器,与未压缩的文件相比,压缩文件占用的磁盘空间更少,可以更快地从一台计算机传输到另一台计算机。使用适用于所有操作系统的实用程序,可以在Windows,macOS和Linux中轻松提取Zip文件。

在本教程中,向你展示如何在Linux中使用Zip (压缩)命令压缩文件和目录。

zip命令

zip是一个命令行实用工具,帮助你创建Zip存档。

zip命令采用以下语法格式:zip OPTIONS ARCHIVE_NAME FILES

要在特定目录中创建Zip归档文件,用户需要对该目录有写权限。

Zip文件不支持linux风格的权限信息,提取的文件由运行命令的用户拥有,

要保留文件所有权和权限,请使用tar命令。

在大多数Linux发行版中,默认未安装zip实用程序,但是您可以使用发行版的程序包管理器轻松安装它。

在Ubuntu和Debian上安装Zipsudo apt install zip

在CentOS和Fedora上安装Zipsudo yum install zip

如何压缩文件和目录

要压缩一个或多个文件,请指定要添加到归档中的文件,以空格分隔,如下所示:zip archivename.zip filename1 filename2 filename3adding: 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,在大多数Linux发行版中,zip程序还支持bzip压缩方法。

若要指定压缩方法,请使用-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文件

如果你有需要存储在归档文件中的敏感信息,可以使用-e选项对它进行加密:zip -e archivename.zip directory_name

系统将提示你输入并验证归档密码:Enter password:

Verify password:

创建分割Zip文件

假设您要将Zip存档存储在文件上传服务上,该服务的文件大小上传限制为1GB,而Zip存档为5GB。

可以使用-s选项和指定的大小创建新的分割Zip文件,可以是k (千字节),m (兆字节),g (千兆字节)或t (terabyte)。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文件,而不压缩文件。zip -0 archivename *.mp3

结束语

在Linux中,可以使用zip命令创建Zip归档文件。

要在Linux系统上提取ZIP归档文件,可以使用unzip命令。

linux中如何压缩目录文件,在Linux中,如何压缩文件和目录相关推荐

  1. linux tar压缩包目录,如何在Linux上使用tar命令解压和压缩文件

    inux上的tar命令通常用来创建名为.tar.gz或.tgz的归档文件,也被称为"压缩包".该命令有大量的选择,但你只需要记住几个字母来快速创建tar归档. tar命令可以提取生 ...

  2. linux 目录中的文件和子目录生成jar包文件的方法

    linux 目录中的文件和子目录生成jar包文件的方法 jar cvf spark-libs.jar -C //usr/cwgis/app/spark/jars/ .//注意:.点前面有一个空格 [r ...

  3. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

  4. linux替换jar包目录,Linux下用jar命令替换war包中的文件【转】

    问题背景:在Linux环境上的weblogic发布war包,有时候只是修改了几个文件,也要上传整个war包,这样很费时间,因此整理了一下Linux环境,更新单个文件的方法. 1.如果要替换的文件直接在 ...

  5. linux终端中如何对目录压缩,软网推荐:Linux中使用命令行查看压缩文档

    平时我们查看压缩文件的内容,常规的方法是解压后再一一查看.如果压缩包里的文件很多,解压后再查看就非常不便.对于使用Linux系统的朋友,现在可以直接利用命令行完成压缩包的查看.下面我们以麒麟Ubunt ...

  6. scp创建远程目录_在Linux系统中使用Vim读写远程文件

    大家好,我是良许. 今天我们讨论一个 Vim 使用技巧--用 Vim 读写远程文件.要实现这个目的,我们需要使用到一个叫 netrw.vim 的插件.从 Vim 7.x 开始,netrw.vim 就被 ...

  7. linux将目录完整备份,Linux自动压缩备份目录文件与恢复

    首先建立以个空白文档,然后打开编辑成需要的内容,最后保存为*.sh文件 比如我现在Linux 系统 /usr下有个目录soft需要让它每天自动压缩打包到/opt/ftp的目录下,并以当前时间命名 例: ...

  8. linux如何找大文件夹,Linux系统中如何查找大文件或目录文件夹的方法

    Linux系统中如何查找大文件或文件夹的方法 在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整 ...

  9. linux中同名目录复制,Linux下把文件夹复制到所有同名文件夹的脚本

    需求:复制文件夹到Linux目录下,覆盖该Linux目录下所有同名文件夹 目标:Linux下,执行本脚本,输入文件夹名,即可批量复制覆盖. 使用说明: 先把本脚本文件和要复制的文件夹移到将要覆盖的Li ...

最新文章

  1. 简直骚操作,ThreadLocal还能当缓存用
  2. java算法之冒泡排序法
  3. OpenGL渲染水water
  4. 汽车之家基于 Flink 的数据传输平台的设计与实践
  5. python成长之路10——socketserver源码分析
  6. 2019腾讯广告算法大赛 决赛 Rank16解决方案
  7. pku1159 Palindrome(简单dp)
  8. WINDOWS.H already included.MFC apps must not #include windows.h
  9. optical接口_专业音响知识:音频接口的使用和链接
  10. 计算机网络物理层测试
  11. Python实现简繁体转换,现在的人玩得老花了
  12. # 飞书APP集成平台-数字化落地
  13. ps安装了可以打开但开始里面找不到_黑苹果安装入门(hackintosh install)
  14. IntelliJ IDEA默认的keymap设置是哪个?
  15. qt在表格中如何画线_在QtreeWidget中显示表格线,该如何处理
  16. 28、Qt 之图形(渐变填充)
  17. html图片中绝对定位,CSS中绝对定位
  18. 紫宸激光:FPC排线、LCD模组的激光焊锡解决方案
  19. SKU110K商品检测数据集处理
  20. 一份来自掘金社区的开发者报告

热门文章

  1. java情剑天涯,征途的潇湘九夜改名叫什么了
  2. 提取图像感兴趣区域_从图像中提取感兴趣区域
  3. SAP知识精解-物料需求计划MRP-概览
  4. python opencv windows 快速测试摄像头连接 demo
  5. ajax请求方式 问答题,java spring mvc面试题,九大常见问答题
  6. 美标C62400铝青铜棒C62400标准成分及性能介绍
  7. javaFX安装及使用
  8. 安装tensorflow-federated-nightly
  9. 海伦公式计算三角形面积
  10. 应给物联网植入人工智能的基因