在使用Linux服务器的时候,你是否为通过网络传输或上传大型文件而发愁?其实无需担心,因为你可以将大文件压缩,并将其分成指定大小的块,以分块方式移动,以应对较慢的网络速度。
在本文当中,小编将简要介绍如何创建压缩文件并将其拆分为选定大小的块。这里将使用Linux系统上较为流行的tar压缩实用程序,并利用split实用程序帮助我们将存档文件拆分为小部分。
在进一步讨论之前,首先来了解一下如何使用这些实用程序,tar
和split
命令的一般语法如下:
tar options archive-name files split options file "prefix”
接下来通过几个典型示例来说明本文所要探讨的主要内容。
示例1:将tar文件拆分为10MB部分
首先可以创建一个压缩文件,命令如下:
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"
是分割后创建的每个块文件名称的前缀,后面接上自动生成的后缀,即依次为aa、ab、ac等。
示例2:将ISO映像文件拆分成几部分
与上面的情况类似,在这里可以创建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手册页面以了解更多选项并执行一些复杂操作,或者可以通过阅读更多相关文章进一步学习tar
命令。