【Linux命令】--- Linux下的分卷压缩与解压

  • 在编程的艺术世界里,代码和灵感需要寻找到最佳的交融点,才能打造出令人为之惊叹的作品。
  • 而在这座秋知叶i博客的殿堂里,我们将共同追寻这种完美结合,为未来的世界留下属于我们的独特印记。

【Linux命令】--- 多核压缩命令大全(加快压缩和解压)

开发环境

  • 开发环境:ubuntu20

一、Linux下的分卷压缩与解压

  • 在处理大文件时,我们有时需要进行分卷压缩,将大文件分割成较小的部分,这样更便于传输和存储。在Linux系统中,我们可以结合使用tarsplitcat命令来实现分卷压缩与解压。

二、 参数详解

1、tar命令参数

  • -c:创建新的压缩文件。
  • -x:从压缩文件中提取文件。
  • -z:通过gzip压缩或解压。若使用其他压缩算法,需更改此参数。
  • -v:显示详细信息,查看压缩或解压的进度和结果。
  • -f:指定要处理的文件名,-f后必须紧跟文件名。

2、split命令关键参数

  • -b:指定每个分卷文件的大小,可用K、M、G等后缀表示KB、MB、GB等单位。
  • -n:指定分割的文件数量(但通常按大小分割更为实用)。

3、cat命令

  • 用于合并文件。合并分卷文件时,请确保文件顺序正确,否则合并后的文件将无法正确解压。

当然可以,将分卷压缩操作拆分为压缩和分割两个独立的部分有助于清晰地展示每个步骤。下面是根据您的建议组合并稍作调整后的版本:

三、分卷压缩操作

1. 压缩文件

首先,我们使用tar命令压缩目标文件夹。例如,压缩名为qiuzhiyei的文件夹:

bash 复制代码
tar -czvf qiuzhiyei.tar.gz qiuzhiyei/

这里的参数解释如下:

  • -c 表示创建一个新的压缩文件。
  • -z 表示使用gzip格式进行压缩。
  • -v 表示在压缩过程中显示详细信息。
  • -f 指定压缩文件的名称,后面紧跟要创建的文件名。

2. 分割压缩文件

接下来,我们使用split命令将压缩后的文件分割成多个较小的分卷。例如,如果希望每个分卷大小为10MB,可以执行以下命令:

bash 复制代码
split -b 10M qiuzhiyei.tar.gz qiuzhiyei_part_

这里的参数解释如下:

  • -b 10M 指定每个分卷的大小为10MB。
  • qiuzhiyei.tar.gz 是要分割的压缩文件名。
  • qiuzhiyei_part_ 是分割后生成的分卷文件的前缀名。

执行完上述命令后,会生成一系列以qiuzhiyei_part_为前缀的分卷文件,如qiuzhiyei_part_aaqiuzhiyei_part_ab等。每个文件大小约为10MB(最后一个文件可能小于10MB)。

四、分卷解压操作

为了解压这些分卷文件,我们需要先将它们合并成一个完整的压缩文件,然后再进行解压。

1. 合并分卷文件

使用cat命令将所有分卷文件合并成一个完整的压缩文件:

bash 复制代码
cat qiuzhiyei_part_* > qiuzhiyei_merged.tar.gz

这里的qiuzhiyei_part_*表示所有以qiuzhiyei_part_为前缀的分卷文件。通过>符号将合并后的内容输出到qiuzhiyei_merged.tar.gz文件中。

2. 解压合并后的压缩文件

最后,我们使用tar命令解压合并后的压缩文件:

bash 复制代码
tar -xzvf qiuzhiyei_merged.tar.gz

这里的参数解释如下:

  • -x 表示从压缩文件中提取文件。
  • -z 表示使用gzip格式进行解压。
  • -v 表示在解压过程中显示详细信息。
  • -f 指定要解压的压缩文件名,后面紧跟要解压的文件名。

执行完上述命令后,会生成原始的qiuzhiyei文件夹,其中包含了所有压缩前的文件和子文件夹。

相关推荐
A小辣椒11 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒15 小时前
TShark:基础知识
linux
AlfredZhao17 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334662 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪2 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言