网站搜索

如何将大型“tar”存档拆分为一定大小的多个文件


您是否担心通过网络传输或上传大文件,那么不必再担心,因为您可以通过将文件分割成给定大小的块来逐位移动文件以应对网络速度较慢的情况。

在本操作指南中,我们将简要探讨存档文件的创建并将它们分割成选定大小的块。我们将使用 Linux 上最流行的归档实用程序之一 tar,并利用 split 实用程序来帮助我们将归档文件分成小块。

在我们进一步讨论之前,让我们注意一下如何使用这些实用程序,tarsplit 命令的一般语法如下:

tar options archive-name files 
split options file "prefix”

现在让我们深入研究几个例子来说明本文的主要概念。

示例1:我们首先可以创建一个存档文件,如下所示:

tar -cvjf home.tar.bz2 /home/aaronkilik/Documents/* 

要确认存档文件已创建并检查其大小,我们可以使用 ls 命令:

ls -lh home.tar.bz2

然后使用 split 实用程序,我们可以将 home.tar.bz2 存档文件分成每个大小为 10MB 的小块,如下所示:

split -b 10M home.tar.bz2 "home.tar.bz2.part"
ls -lh home.tar.bz2.parta*

从上面命令的输出中可以看到,tar 存档文件已分为四个部分。

注意:上面的split命令中,选项-b用于指定每个块的大小“home.tar.bz2.part”是分割后创建的每个块文件名称中的前缀。

示例2:与上面的情况类似,这里我们可以创建一个Linux Mint ISO镜像文件的归档文件。

tar -cvzf linux-mint-18.tar.gz linuxmint-18-cinnamon-64bit.iso 

然后按照上面示例 1 中的相同步骤将存档文件拆分为 200MB 大小的小块。

ls -lh linux-mint-18.tar.gz 
split -b 200M linux-mint-18.tar.gz "ISO-archive.part"
ls -lh ISO-archive.parta*

示例3:在本例中,我们可以使用管道来连接tar命令的输出进行分割,如下所示:

tar -cvzf - wget/* | split -b 150M - "downloads-part"

确认文件:

ls -lh downloads-parta*

在最后一个示例中,我们不必像您所注意到的那样指定存档名称,只需使用 - 符号即可。

如何在分割后合并 Tar 文件

在 Linux 中成功分割 tar 文件或任何大文件后,您可以使用 cat 命令合并文件。使用 cat 是执行连接操作最有效、最可靠的方法。

要连接回所有块或 tar 文件,我们发出以下命令:


cat home.tar.bz2.parta* >backup.tar.gz.joined

我们可以看到,运行cat命令后,它将我们之前创建的所有小块合并到相同大小的原始tar归档文件中。

结论

整个想法很简单,正如我们上面所说明的,您只需要知道并理解如何使用 tarsplit 实用程序的各种选项即可。

您可以参考他们的手动输入页面来了解更多其他选项并执行一些复杂的操作,或者您可以通过以下文章来了解有关 tar 命令的更多信息。

不要错过: 18 个有用的“tar”命令示例

对于任何问题或进一步的提示,您可以通过下面的评论部分分享您的想法。