Linux上实现分片压缩及解压分片zip压缩包的命令详解

 更新时间:2026年09月01日 09:33:28   作者:A-刘晨阳  
还在为Linux下压缩解压文件发愁吗,本文将详细讲解zip和unzip命令的用法,包括压缩、解压、批量处理、分片压缩与合并,以及压缩包完整性检查,让你轻松管理zip文件

zip命令

zip命令的功能是用于压缩文件,解压命令为unzip。通过zip命令可以将文件打包成.zip格式的压缩包,里面会包含文件的名称、路径、创建时间、上次修改时间等等信息,与tar命令相似。

语法格式

zip 参数 目标文件.zip 源文件或目录名

常用参数

参数参数解析
-A自动解压缩文件
-b设置暂存文件的目录
-c添加注释信息到压缩文件
-d更新压缩包内文件
-F尝试修复损坏的压缩文件
-h显示帮助信息
-i仅压缩符合条件的文件
-k使用MS-DOS兼容格式
-l将“LF”替换成“LF+CR”字符
-L显示版本信息
-m压缩后删除源文件
-n不压缩具有特定字符串的文件
-q静默执行模式
-r递归处理所有子文件
-S包含系统和隐藏文件
-s指定分卷的大小
-t设置压缩时间为指定日期
-T检查压缩文件是否正确无误
-v显示执行过程详细信息
-V保留VMS操作系统的文件属性
-w在文件名称中加入版本编号
-X不保留过多的文件属性信息 -y 直接保存符号链接,而不是对应文件

参考示例

1、将指定目录及其内全部文件都打包成zip格式压缩包文件

zip -r cs.zip cs

zip 	# 压缩命令
-r 		# 递归处理所有子文件
cs.zip	# 要压缩的文件名
cs		# 要压缩的目录

2、将当前工作目录内所有以.conf为后缀的文件打包

zip -r conf.zip /etc/*.conf

3、更新压缩包文件中某个文件

zip -dv conf.zip /etc/locale.conf

zip			# 压缩命令
-dv			# d:更新压缩包内文件 v:查看详细信息
conf.zip			# 要压缩的文件名
/etc/locale.conf	#要更新的某个文件

4、检查压缩文件是否正确无误

zip -T conf.zip

unzip命令

语法格式

unzip [参数] 压缩包名

常用参数

参数参数解析
-a对文本进行必要的字符转换
-b不要对文本进行任何字符转换
-c适当转换字符后输出解压缩结果
-C严格区分大小写
-d解压缩文件到指定目录中
-f强制覆盖已有文件
-j不处理压缩文件中原有的目录路径
-l显示压缩包内文件列表
-L将压缩包内文件名改为小写
-n解压缩时不覆盖已有文件
-p使用密码加密
-q静默执行模式
-t检查压缩包完整性
-v显示执行过程详细信息
-x跳过压缩包内的指定文件
-z显示压缩包内的备注文字

参考示例

1、解压zip包

unzip conf.zip 

2、将压缩包文件解压到指定目录中

unzip conf.zip -d /home/lcy/aaa/

3、测试压缩包文件是否完整,文件有无损坏

一般用于压缩完之后检测压缩包是否完整。

unzip -t conf.zip

4、批量解压 压缩包

for i in *.zip;do unzip $i; done

5、批量解压 压缩包并将解压的文件统一放到一个目录中

# 先创建一个要存放解压下来的文件的目录
mkdir /home/jieya

# 批量解压并指定放入的目录
for i in *.zip;do unzip $i -d /home/jieya/; done

分片压缩文件夹为zip压缩包(推荐在windows进行分片压缩)

先将目标压缩成单个的zip压缩包,再进行分片:

#先将目录打成压缩包
zip -r cs.zip cs/
#检查压缩包是否完整(ok即可)
zip -T cs.zip
#先看压缩包多大
du -sh cs.zip
#然后在根据自己要打多大一个压缩包,分片压缩zip压缩包
zip -s 130m cs.zip --out cs-data.zip
#就可以看到打的压缩包了, cs-data.z01 cs-data.z02 cs-data.zip

解析分片压缩zip压缩包命令:

  • -r:递归进入子目录
  • -T:检查压缩包是否完整
  • -s:指定分卷的最大容量,例如130m代表130MB、10g代表10GB
  • –out:输出的zip压缩包名
  • cs.zip:中间压缩包,分卷前的完整压缩包

使用以上命令进行分卷压缩时,会产生多个以数字排序的zip压缩包,如:

cs-data.z01
cs-data.z02

cs-data.zip

总体感觉,分片压缩zip压缩包不如在windows上执行,还是推荐windows上去执行分片压缩;

合并分片的压缩包 并 解压分片zip压缩包

可以先合并分片压缩包,再进行解压:

# 合并分片压缩包
cat cs-data.z* > cs-new.zip

# 查看刚刚合并的压缩包大小
du -sh cs-new.zip

# 检查压缩包完整性(ok即没问题)
unzip -t cs-new.zip

# 解压zip压缩包
unzip cs-new.zip

解析合并压缩包命令:

  • >:重定向符
  • -t:检查压缩包完整性
  • cs-new.zip:分片压缩包合并后的完整压缩包名称
  • unzip:解压zip压缩包

小提示:如果在合并完压缩包之后,检查压缩包完整性的时候发现有错;

那么可以去windows上进行分片压缩,在拿到linux上合并,linux上的分片压缩不是很好,可能在合并并解压的时候报错,所以分片压缩的话还是建议在windows上;
没有必须要求分片合并解压在linux上的话,最好也在windows上进行操作。

tar包分片压缩与合并分片压缩

分片压缩

# 将已有的 tar.gz 分割成 4G 大小的卷(刻盘的注意不能满4G,否则可能会溢出)
split -b 4000M test.tar.gz "test.tar.gz.part-"

合并分片压缩内容

cat test.tar.gz.part-* > test.tar.gz

以上就是Linux上实现分片压缩及解压分片zip压缩包的命令详解的详细内容,更多关于Linux zip和unzip命令的资料请关注脚本之家其它相关文章!

相关文章

  • 如何搭建自己CDN服务器(LuManager)

    如何搭建自己CDN服务器(LuManager)

    这篇文章主要介绍了如何搭建自己CDN服务器(LuManager),需要的朋友可以参考下
    2016-04-04
  • linux设置tomcat自启动的方法

    linux设置tomcat自启动的方法

    这篇文章主要介绍了linux设置tomcat自启动的方法,需要的朋友可以参考下
    2014-03-03
  • Linux环境(CentOS6.7 64位)下安装subversion1.9.5的方法

    Linux环境(CentOS6.7 64位)下安装subversion1.9.5的方法

    这篇文章主要介绍了Linux环境(CentOS6.7 64位)下安装subversion1.9.5的方法,结合实例形式分析了CentOS下安装subversion1.9.5的相关步骤、命令及操作注意事项,需要的朋友可以参考下
    2018-04-04
  • 在Linux 服务器下修改防火墙允许该端口远程访问的方法

    在Linux 服务器下修改防火墙允许该端口远程访问的方法

    今天小编就为大家分享一篇在Linux 服务器下修改防火墙允许该端口远程访问的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 在Linux/Windows系统中设置PYTHONPATH环境变量的操作步骤

    在Linux/Windows系统中设置PYTHONPATH环境变量的操作步骤

    PYTHONPATH 是一个环境变量,它告诉 Python 解释器在哪些目录中查找要导入的模块,这对于包含不在标准目录中的自定义模块非常有用,本文给大家介绍了如何在 Linux/Windows 系统中设置 PYTHONPATH 环境变量,需要的朋友可以参考下
    2025-02-02
  • Linux磁盘分区实现原理及方法解析

    Linux磁盘分区实现原理及方法解析

    这篇文章主要介绍了Linux磁盘分区实现原理及方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • 在Linux中备份mysql数据库和表的详细操作

    在Linux中备份mysql数据库和表的详细操作

    备份数据库和备份表是两种不同的东西,备份数据库是原来的库是什么样,新库就是什么样,里面含有复制了表,唯一区别就是库名不一样,备份表是把原表一模一样复制一遍备份,本文给大家介绍了在Linux中备份msyql数据库和表的详细操作,需要的朋友可以参考下
    2024-11-11
  • Linux运维之磁盘分区与挂载详解

    Linux运维之磁盘分区与挂载详解

    磁盘分区是将物理硬盘划分为不同的逻辑部分,每个分区都可以被视为一个独立的存储设备,这篇文章主要介绍了Linux系统中的磁盘分区原理以及如何创建、格式化、临时和永久挂载分区的相关内容,有需要的小伙伴可以了解下
    2025-12-12
  • ubuntu下SSH无法连接的问题及解决方案

    ubuntu下SSH无法连接的问题及解决方案

    这篇文章主要介绍了ubuntu下SSH无法连接的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • Linux使用head命令查看文件开头内容的方法详解

    Linux使用head命令查看文件开头内容的方法详解

    在 Linux 系统中,head 命令是一个非常基础且实用的工具,它能够帮助我们快速查看文件的前几行内容,本文将深入探讨 head 命令的各种用法,并通过丰富的代码示例和图表来展示其强大功能,需要的朋友可以参考下
    2026-01-01

最新评论