如何将大型 tar 存档拆分为多个特定大小的文件
您是否担心通过网络传输或上传大文件,那么您不必再担心,因为您可以将文件分成给定大小的块,以位为单位移动,以应对较慢的网络速度。
在本指南中,我们将简要介绍如何创建存档文件并将其拆分为选定大小的块。我们将使用tar
Linux 上最流行的存档实用程序之一,并利用该split
实用程序帮助我们将存档文件拆分为小块。
在我们进一步讨论之前,让我们先了解一下如何使用这些实用程序,tar
andsplit
命令的一般语法如下:
# 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命令的输出连接到 split,如下所示:
$ 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 存档文件中。
结论
整个想法很简单,正如我们上面所说明的,您只需要知道和理解如何使用各种选项tar
和split
实用程序。
您可以参考它们的手册输入页面来了解更多其他选项并执行一些复杂的操作,或者您可以阅读以下文章来了解有关tar命令的更多信息。
不要错过: 18 个有用的 tar 命令示例
如有任何疑问或其他提示,您可以通过下面的评论部分分享您的想法。