首页 > 系统相关 >Linux命令行tar/zip/7z对文件分卷压缩/解压缩

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

时间:2025-01-07 19:55:41浏览次数:9  
标签:分卷压缩 tar zip drivers gz xz hello

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

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

用哪种算法,自行取舍。

标签:分卷压缩,tar,zip,drivers,gz,xz,hello
From: https://www.cnblogs.com/phoebus-ma/p/18658261

相关文章

  • docker启动nacos报错: Nacos Server did not start because dumpservice bean constru
    一、docker启动nacos报错:mysql版本:8nacos版本:2.xNacosServerdidnotstartbecausedumpservicebeanconstructionfailure:NoDataSourcesetNacosisstarting,youcandockerlogsyourcontainer+exec/opt/java/openjdk/bin/java-XX:+UseConcMarkSweepGC-XX:+U......
  • 嵌入式start.S启动文件详细介绍
     先来看一个具体的嵌入式工程的start.S文件:#include"hpm_csr_regs.h".section.start,"ax".global_start.type_start,@function_start:/*Initializeglobalpointer*/.optionpush.optionnorelaxlagp,__global_pointe......
  • 强化学习在Atari游戏中的应用
    强化学习在Atari游戏中的应用强化学习(ReinforcementLearning,RL)是一种通过与环境交互来学习策略的机器学习方法。在计算机科学领域,深度强化学习(DeepReinforcementLearning,DRL)结合了深度学习和强化学习的优点,使得算法能够处理高维度的问题,如图像数据。经典的DRL算法如......
  • Android13编译错误FAILED: SYSTEM_BUILD/out/target/product/qssi_au/system/vendor
    前言全局说明FAILED:SYSTEM_BUILD/out/target/product/qssi_au/system/vendorQSSI:notenabledforqssi_autargetas/release/QSSI/QSSI_enforced_targets_list.txtwasnotfound.YoucannotinstallfilestoSYSTEM_BUILD/out/target/product/qssi_au/system/vendorw......
  • E94 Tarjan边双缩点+树形DP P8867 [NOIP2022] 建造军营
    视频链接:E94Tarjan边双缩点+树形DPP8867[NOIP2022]建造军营_哔哩哔哩_bilibili  P8867[NOIP2022]建造军营-洛谷|计算机科学教育新生态//Tarjan边双缩点+树形DPO(n)#include<bits/stdc++.h>usingnamespacestd;intread(){intx=0,f=1;charc=getchar......
  • 8.Redis底层数据结构——ziplist和listpack
    一、ziplist1.1ziplist结构Redis采用紧凑的字节数组表示一个压缩列表,压缩列表结构示意图如下:<zlbytes><zltail><zllen><entry><entry>...<entry><zlend>zlbytes:压缩列表的字节长度,占4个字节,因此压缩列表最多有2*32-1个字节。zltail:压缩列表尾元素相对于压缩......
  • Android13编译报错 Android.mk 获取不到 LOCAL_PATH TARGET_OUT 变量
    前言全局说明一、说明1.1环境:Android13二、问题自定义的Android.mk获取不到LOCAL_PATHTARGET_OUT变量三、可能,原因分析3.1继承正常情况下,有些值,是上层的Android.mk调用下层的Android.mk时,传递过去的。当你没有把自定义模块Android.mk写道上层调用......
  • 解决 EMLOG 安装应用失败提示“请安装 PHP 的 Zip 扩展”
    当EMLOG安装应用时提示“请安装PHP的Zip扩展”,你需要确保PHP环境中已安装并启用 zip 扩展。以下是详细的解决步骤,包括使用宝塔面板和其他操作系统的手动安装方法。使用宝塔面板安装和启用Zip扩展登录宝塔面板:打开浏览器,访问你的宝塔面板地址并登录。进入PH......
  • Linux如何解压gz、tar.gz、zip、tar、tar.bz2等压缩文件
    Linux如何解压gz、tar.gz、zip、tar、tar.bz2等压缩文件Debian、Ubuntu、CentOS、RedHat等Linux解压gz、tar.gz、zip、tar、bz2格式压缩文件的命令。.gz文件解压与压缩1、解压: gzip-dFileName.gz2、压缩:将当前目录的每个文件压缩成.gz文件: gzip*......
  • Nginx性能优化之Gzip压缩文件配置方法详细说明
    Nginx性能优化之Gzip压缩文件配置方法详细说明Gzip压缩参数说明线上Gzip压缩配置Gzip压缩对比Gzip开启验证Nginx开启Gzip压缩功能,可以使网站的css、js、xml、html文件在传输时进行压缩,提高访问速度,进而优化Nginx性能!Web网站上的图片,视频等其它多媒体文件以及大......