Linux上实现分片压缩及解压分片zip压缩包 - 及zip、unzip命令详解

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


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上进行操作。

### 回答1: Linux解压分卷zip命令可以使用unzip命令。具体操作如下: 1. 打开终端,进入需要解压的文件所在目录。 2. 输入以下命令unzip 文件名.zip 3. 如果文件被分卷压缩,需要输入以下命令unzip 文件名.zip -s 分卷大小 例如,如果文件名为test.zip分卷大小为100MB,则输入以下命令unzip test.zip -s 100m 4. 解压完成后,可以在当前目录下查看解压后的文件。 ### 回答2: Linux解压分卷zip命令Linux系统中,zip是一种常见的压缩文件格式,而zip压缩文件可能会被分卷压缩为多个文件,这就需要在解压时使用特定的命令。 1. 查看zip分卷压缩文件的结构 在解压zip分卷压缩文件前,我们首先需要了解文件的结构。我们可以使用unzip命令的“-v”选项来查看所有分卷的文件信息,例如: unzip -v file.zip 这个命令会列出压缩文件的基本信息,包括压缩方法、分卷信息、文件名、压缩大小和原始大小等。可以根据这些信息来确认需要解压分卷文件。 2. 解压zip分卷压缩文件 一旦确认了需要解压分卷文件,我们可以使用下面的命令进行解压unzip file.zip -d destination_folder/ 其中,“file.zip”是需要解压分卷文件名,而“destination_folder/”则是解压的目标文件夹。 如果分卷文件被压缩时使用了密码保护,我们需要在解压命令中添加“-P password”选项,并将“password”替换为实际的密码。 此外,如果分卷文件的名称不是按照标准方式命名的(例如,“file.z01”、“file.z02”),则需要在解压命令中添加“-t”选项,以检查所有分卷文件是否可用。如果某个分卷文件不可用,将无法完全解压整个zip文件。 总之,Linux解压分卷zip命令的操作相对简单,只需要根据上述步骤逐步操作即可。 ### 回答3: Linux解压分卷ZIP压缩文件时,需要使用到unzip命令分卷ZIP压缩文件的后缀通常为.zip.001、.zip.002、.zip.003等等。 在Linux系统中,使用unzip命令进行解压unzipLinux系统自带的解压命令,使用非常方便。 解压分卷ZIP压缩文件的步骤如下: 1. 首先切换到存放分卷ZIP压缩文件的目录下; 2. 输入unzip命令,后面接上分卷ZIP压缩文件的名称,例如:“unzip file.zip.001”; 3. 然后按回车键即可开始解压; 4. 解压完成后,会在当前目录下生成解压后的文件或文件夹。 需要注意的是,如果分卷ZIP压缩文件数量过多,解压时需要按顺序依次解压每一个分卷文件。例如,要解压压缩文件分卷为file.zip.001、.zip.002、.zip.003等,就需要输入unzip file.zip.001,然后再输入unzip file.zip.002,最后输入unzip file.zip.003。 总之,使用unzip命令解压分卷ZIP压缩文件非常简单,只需要输入几个命令即可完成。同时,需要注意的是,在解压分卷ZIP压缩文件时一定要按顺序解压,否则会导致解压失败。
评论 45
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-刘晨阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值