Linux命令行tar/zip/7z对文件分卷压缩/解压缩

news/2025/1/7 19:46:52/文章来源:https://www.cnblogs.com/phoebus-ma/p/18658261

分为两部分,文件压缩/解压缩 和 文件校验。

1. 单文件压缩

1.1 自动tar

# 其中 '*' 替换为'gz', 'bz2', 'xz'等.
$ tar -acf hello.tar.* hello/

1.2 gz

$ tar -zcf hello.tar.gz hello/

1.3 bz2

$ tar -jcf hello.tar.bz2 hello/

1.4 xz

$ tar -Jcf hello.tar.xz hello/

1.5 zip

$ zip -r hello.zip hello/

1.6 7zip

$ 7z a hello.7z hello/

2. 单文件解压

2.1 自动tar

# 其中 '*' 替换为'gz', 'bz2', 'xz'等.
$ tar -xf hello.tar.*

2.2 gz

$ tar -zxf hello.tar.gz

2.3 bz2

$ tar -jxf hello.tar.bz2

2.4 xz

$ tar -Jxf hello.tar.xz

2.5 zip

$ unzip hello.zip

2.6 7zip

$ 7z x hello.7z

3. 分卷压缩

3.1 gz

$ tar -zcf - hello/ | split -d -b 100m - hello.tar.gz.

或者:

$ tar -acf hello.tar.gz hello/
$ cat hello.tar.gz | split -d -b 100m - hello.tar.gz.

3.2 bz2

$ tar -jcf - hello/ | split -d -b 100m - hello.tar.bz2.

3.3 xz

$ tar -Jcf - hello/ | split -d -b 100m - hello.tar.xz.

3.4 zip

$ zip -s 100m -r drivers.zip drivers/

3.5 7zip

$ 7z a -v100m hello.7z hello/

4. 分卷解压

4.1 gz

$ cat hello.tar.gz.* | tar -zxf -

4.2 bz2

$ cat hello.tar.bz2.* | tar -jxf -

4.3 xz

$ cat hello.tar.xz.* | tar -Jxf -

4.4 zip

$ ls drivers.z*
drivers.z01  drivers.z03  drivers.z05  drivers.z07  drivers.z09  drivers.z11  drivers.z13  drivers.zip
drivers.z02  drivers.z04  drivers.z06  drivers.z08  drivers.z10  drivers.z12  drivers.z14$ zip -F drivers.zip --out single-drivers.zip
$ unzip single-drivers.zip

4.5 7zip

$ ls hello.7z.00*
hello.7z.001  hello.7z.003  hello.7z.005
hello.7z.002  hello.7z.004$ 7z x hello.7z.001

5. MD5文件校验

分卷文件,由于数据分散,分发出错概率比单文件大,建议分发文件中附带文件哈希校验码,其中md5,sha256较为常用,这里用md5:

1. 当前目录:

$ du -sh *
50M     linux-6.1.123.tar.xz.00
50M     linux-6.1.123.tar.xz.01
32M     linux-6.1.123.tar.xz.02

2. 在当前目录,生成md5哈希:

$ md5sum * > linux-6.1.123.tar.xz.md5sum
$ cat linux-6.1.123.tar.xz.md5sum
528c63709f2ab13c7b8ed02195280aef  linux-6.1.123.tar.xz.00
8209cb6b81cd14efcbcab99b923d57cb  linux-6.1.123.tar.xz.01
44c877245ede86c64d51e64e95738b21  linux-6.1.123.tar.xz.02 

3. 在接收方,校验md5哈希:

$ md5sum -c linux-6.1.123.tar.xz.md5sum
linux-6.1.123.tar.xz.00: OK
linux-6.1.123.tar.xz.01: OK
linux-6.1.123.tar.xz.02: OK

6. 不同压缩算法比较

以下数据是在虚拟机中进行操作得出,使用的是linux-6.1.123.tar.xz作为数据源,仅供参考:

Name Size 空间占比 压缩耗时 解压耗时
原件 1.5G 100% NULL NULL
gz 216M 15% 0m33.838s 0m9.017s
bz2 160M 11% 1m28.464s 0m29.880s
xz 132M 9% 6m47.977s 0m15.378s
zip 267M 18.5% 1m8.041s 1m5.549s
7zip 131M 9% 4m59.430s 0m14.859s

用哪种算法,自行取舍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/865493.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】

pd虚拟机 [po] Parallels Desktop 20 激活 for Mac [jie] 安装教程【支持M芯片】 Parallels Desktop 20 ,是一款Mac虚拟机软件,在搭载Apple M 系列芯片的任何 Mac 上运行 Windows,体验不同操作系统之间无缝集成。使用 Parallels Desktop 20 for Mac 体验 macOS 和 Windows 的…

【触想智能】什么是嵌入式工业一体机以及它的特点和应用领域分析

嵌入式工业一体机是一种集成了计算、控制、通信等功能的高度集成化设备。它在工业自动化领域中有着广泛的应用,为工厂生产、数据处理、监控和管理提供了全面的解决方案。下面是嵌入式工业一体机的定义、特点以及主要应用领域的具体介绍。一、嵌入式工业一体机的定义嵌入式工业…

VMware Fusion Pro 13 for Mac虚拟机软件

VMware Fusion Pro 13 for Mac虚拟机软件 VMware Fusion Pro for Mac,是一款mac虚拟机软件,跟Parallels Desktop一样,都可以让你的 Mac 同时运行一个或多个不同的操作系统。VMware Fusion Pro mac不仅能让你在Mac苹果电脑上运行Windows或Linux系统、使用非Mac平台的软件,而…

空压机网络接入实战:基于 MODBUS - TCP 转 Ethernet IP 网关的配置过程剖析

在工业自动化生产环境中,空压机作为重要的气源设备,其稳定运行和有效监控对于整个生产流程至关重要。然而,不同厂家生产的空压机可能采用不同的通信协议,这给集中监控和管理带来了挑战。在本次案例中,我们遇到的空压机采用 MODBUS - TCP 协议进行数据传输,但企业的自动化…

【CUMT】软件工程期末复习

1.软件工程概述1.2 计算机软件概述 1.4 软件生命周期 1.5 软件开发模型2.项目计划2.2 可行性研究3.需求分析3.2 数据流图DFD 3.3 数据字典DD 3.4 加工逻辑描述工具4.面向对象方法(OOA)4.2 统一建模语言UML 4.3 用例模型5.概要设计5.1 软件开发流程概念区分 5.2 软件结构设计 …

【vulnhub靶场】日志投毒与文件包含漏洞 Solstice

一、侦查1.1 收集目标网络信息:IP地址1.2 主动扫描:扫描IP地址段 二、初始访问2.1 利用面向公众的应用 三、权限提升3.1 利用漏洞提权:高权限运行的程序一、侦查 1.1 收集目标网络信息:IP地址 靶机启动后,没有提供IP地址。由于Kali和靶机在同一个C段,可以扫描ARP协议获取…

城市生命线安全管理:数据要素整合与场景应用实践

城市生命线工程是确保城市正常运行和居民安全生活的关键基础设施,涉及供水、排水、燃气、电力等多个方面。随着信息技术的发展,特别是大数据、物联网、人工智能等技术的应用,城市生命线数据要素与场景应用的深度融合成为提升城市治理能力的重要途径。数据要素的重要性城市生…

SqlSugar入门教程:连接,增、删、改、查

原文链接:https://blog.csdn.net/zls365365/article/details/131199132 第一步,自然是新建一个项目,控制台什么都可以。因为我还没想好怎么做一个完整的项目,那暂且用一个控制台举例吧。 下面自然是从NuGet安装sqlsugar了。注意鉴别需要安装的版本,我这里是安装sqlsugarc…

env(safe-area-inset-bottom) 兼容写法

先看下兼容性:可以看到 @supports 兼容性很好,所以使用 @supports 做兼容是个不错的选择。 例:@supports (padding-bottom: env(safe-area-inset-bottom)) or(padding-bottom: constant(safe-area-inset-bottom)) {.your-dom {padding-bottom: constant(safe-area-inset-bot…

工业采集系统-天然气计量仪表费用二次计算

1、在“驱动管理->中间件驱动”中添加NaturalGasCalculation.drive。2、在设备配置中,添加采集设备,假设采集到的天然气费用因子为D1.F1,充值金额因子为D1.F2,要求计算的天然气使用体积因子为D1.F3。3、在“系统功能->中间件”中添加一个天然气费用计算中间件,配置内…

SQL优化有绝招,使用DAS提升工作效率!完成任务可领取保暖手套!

​「使用DAS实现数据库SQL优化」活动上线了! 数据库自治服务(Database Autonomy Service,简称DAS)是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务。数据库自治服务DAS支持自动SQL优化,相比传统的优化方式,能够自动识别问题SQL,…

类关系图

本文描述了面向对象设计中类与类之间的五种关系,并对这五种关系从耦合程度、语义和方向上进行了比较。类关系图