一个目录压缩成多个 tar.gz 包,并在解压时自动合并它们到一个目录

发布时间 2023-09-06 12:50:35作者: 郭小睿

将一个目录压缩成多个 tar.gz 包,并在解压时自动合并它们到一个目录。这可以通过使用 split 命令和一些脚本来实现。

以下是一个示例的步骤:

  1. 压缩目录并拆分成多个 tar.gz 文件:
tar czvf - your_directory/ | split -b 100M -d -a 3 - your_archive.tar.gz.
  • tar czvf - your_directory/ 将目录压缩并将输出发送到标准输出。
  • split -b 100M -d -a 3 - your_archive.tar.gz. 将标准输出拆分成 100MB 大小的部分,并生成以 your_archive.tar.gz. 开头的文件,其中 -d 选项表示使用数字作为后缀,-a 3 表示数字后缀的宽度为3。
  1. 您现在将得到多个 your_archive.tar.gz.001your_archive.tar.gz.002your_archive.tar.gz.003 等文件,每个文件大小为100MB。

  2. 解压文件时,可以使用通配符将它们合并到一个目录:

cat your_archive.tar.gz.* | tar xzvf -

这将合并并解压 your_archive.tar.gz.001your_archive.tar.gz.002your_archive.tar.gz.003 等文件,并将它们解压到当前目录。

请根据需要调整文件大小和后缀宽度以适应您的要求。