登录
首页 >  文章 >  linux

Linux合并分卷压缩包方法详解

时间:2026-02-05 11:35:34 290浏览 收藏

本篇文章向大家介绍《Linux合并分卷压缩包教程》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

需先合并再解压:ZIP/RAR分卷用cat按序拼接后解压;多个独立tar应分别解压至同一目录;tar追加用-A选项;split分割文件须字典序cat还原。

Linux怎么合并多个压缩包_Linux下cat合并分卷与tar解压【教程】

如果您在Linux系统中遇到多个分卷压缩包(如file.zip.001、file.zip.002等)或需要将多个独立的tar归档文件合并后再解压,则不能直接对分卷包单独执行tar或unzip命令。以下是针对不同压缩格式实现合并与解压的具体操作步骤:

一、使用cat命令合并ZIP分卷包

ZIP格式的分卷压缩包通常由zip -s参数生成,后缀为.001、.002等,这些文件必须按顺序拼接为完整ZIP文件后才能正常解压。cat命令可按字节顺序串联所有分卷文件。

1、确认当前目录下所有分卷文件命名规则一致,例如:archive.zip.001、archive.zip.002、archive.zip.003。

2、执行cat命令按数字顺序合并,输出为完整ZIP文件:cat archive.zip.00* > archive_full.zip

3、验证合并后文件完整性:unzip -t archive_full.zip

4、解压完整ZIP文件:unzip archive_full.zip -d ./extracted/

二、使用cat命令合并RAR分卷包

RAR分卷文件(如archive.part1.rar、archive.part2.rar或archive.rar、archive.r00等)需先还原为单一RAR归档,但注意:原生cat仅适用于无校验头偏移的纯分卷结构;若含RAR5格式或加密分卷,需用rar命令处理。此处仅针对经典RAR4分卷场景。

1、列出所有分卷文件并确认排序正确:ls -1 archive.*.rar | sort -V

2、使用cat按自然序合并(确保shell支持通配符排序):cat archive.*.rar > archive_full.rar

3、调用unrar测试完整性:unrar t archive_full.rar

4、解压至指定目录:unrar x archive_full.rar ./extracted/

三、合并多个独立tar文件并解压

当存在多个互不关联的tar归档(如part1.tar、part2.tar、part3.tar),且需统一解压到同一目录时,不可直接cat拼接——因tar文件头部含独立元数据,拼接会导致后续归档头被误读。正确做法是分别解压至同一目标路径。

1、创建统一解压目录:mkdir -p ./merged_output

2、依次解压每个tar文件到该目录:tar -xf part1.tar -C ./merged_output/

3、继续解压其余tar文件,覆盖同名文件(保留最新版本):tar -xf part2.tar -C ./merged_output/

4、重复执行相同命令处理剩余tar文件:tar -xf part3.tar -C ./merged_output/

四、使用tar --concatenate合并多个tar归档(追加模式)

若需将多个tar文件物理合并为一个归档(非解压合并),可利用tar的--concatenate(-A)选项。该操作要求目标tar文件已存在且为GNU tar格式,且仅支持追加至末尾,不支持插入中间位置。

1、创建基础tar文件(若不存在):tar -cf merged.tar part1/

2、将第二个tar内容追加至merged.tar:tar -Af merged.tar part2.tar

3、继续追加第三个tar:tar -Af merged.tar part3.tar

4、验证合并结果:tar -tf merged.tar | head -n 20

五、处理split分割的原始二进制压缩包

若压缩包被split命令分割(如使用split -b 100M archive.tar.gz archive_split_),则分块无格式标识,仅依赖字节顺序拼接。此类文件必须严格按字典序合并,否则解压失败。

1、确认split输出前缀与分块命名:ls archive_split_*

2、按字典序cat合并(确保无遗漏):cat archive_split_* > archive_restored.tar.gz

3、检查gzip头部有效性:file archive_restored.tar.gz(应返回“gzip compressed data”)。

4、解压恢复的归档:tar -xzf archive_restored.tar.gz -C ./recovered/

今天关于《Linux合并分卷压缩包方法详解》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>