Linux中分卷压缩和合并解压 您所在的位置:网站首页 怎么压缩文件到一个压缩包 Linux中分卷压缩和合并解压

Linux中分卷压缩和合并解压

2024-07-07 12:51| 来源: 网络整理| 查看: 265

目录 一、通过tar分卷压缩及解压1. 分卷压缩2. 解压3. 校验两个文件md5码是否一致 二、通过zip分卷压缩及解压1. 分卷压缩2. 解压3. 校验两个文件md5码是否一致

大家可能会遇到这样的情况,一个文件很大,压缩成一个压缩包后还是很大,不方便传输(比如需要微信给别人,微信限定传输的文件大小为100M),那我们可以通过分卷压缩成几个压缩包,然后分卷传输之后在合并解压,再通过md5码校验两个文件是否一致。

一、通过tar分卷压缩及解压

Linux中tar命令语法及参数解释

1. 分卷压缩

先将文件普通压缩

tar -zcf split.gz split.dat

再将压缩好的压缩包分割

split -b 100m -d -a 1 split.gz split.tar.gz.

合并成一条命令

tar -zcf - split.dat | split -b 100m -d -a 1 - split.tar.gz.

命令中相关参数解释: -b参数后是你想要的每个包的大小,只输入数字默认单位是byte 输入数字+K,单位是KB 输入数字+M,单位是MB 输入数字+G,单位是GB 依次类推T, P, E, Z, Y

-d参数指定生成的分割包后缀为数字的形式 -a x来设定序列的长度(默认值是2),这里设定序列的长度为1

注意: 上面命令中管道符两边都有一个’-’,可以理解为占位符用来管道传输的 比如第一个’-‘就是将split.dat压缩后进行匿名压缩包,再将匿名压缩包传输到管道符右边,右边’-'接收左边传输的结果压缩包,再将其分割

2. 解压

第一种方法:先将分卷的压缩包合并为一个压缩包

cat split.tar.gz.* > split_bak.tar.gz

再解压合并的压缩包到指定文件夹

tar -zxv split_bak.tar.gz -C bak/

合并成一条命令

cat split.tar.gz.* | tar -zxv - -C bak/ 3. 校验两个文件md5码是否一致 md5sum split.dat md5sum bak/split.dat 二、通过zip分卷压缩及解压

Linux中zip语法及参数解释

1. 分卷压缩

先压缩成一个压缩包

zip split.zip split.dat

再将压缩包分割

zip -s 100m split.zip --out ziptest

zip命令无法像上面tar命令一样进行合并命令,合并命令会报错如下:

zip - split.dat | zip -s 100m - --out ziptest zip error: Invalid command arguments (cannot write zip file to terminal)

无效的命令参数(无法将zip文件写入终端)

2. 解压

Linux中unzip语法及参数解释 先将分卷的压缩包合并为一个压缩包

cat ziptest.* > ziptest_bak.zip unzip ziptest_bak.zip -d bak/ 3. 校验两个文件md5码是否一致 md5sum bak/split_bak.dat md5sum split.dat


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有