如何把大的‘tar‘存档文件分割成特定大小的多个文件

你担心通过网络传输或者上传大型文件吗? 现在不用再担心了,因为你可以通过分割你的文件为指定大小块,以比特移动你的文件来处理缓慢的网速。

我们在这里应该简要地利用存档文件地创建斌且分割它们为一个所选大小块。我们使用tar,在Linux上最流行的存档工具之一并使用split工具帮助我们分割存档文件成小块。

在我们进一步前,我们注意如何使用这些工具,tar和split命令的一般语法如下:

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

我们研究一些示例来演示主要概念。

示例1:我们可以按如下创建一个存档文件:

[root@rockygu ~]# tar -cvjf test.tar.br2 test/*
test/fold/
test/guid.txt
test/perm.txt
test/rock.html
test/Rock.txt
test/Rocky/
test/Rocky/1.txt
test/Rocky/2.txt
test/Rocky/3.txt
test/Rocky/4.txt
test/Rocky/5.txt
test/rocky.c
test/rocky.sh
test/suid.txt
test/test.tar.gz
[root@rockygu ~]# ls
test  test.tar.br2

要确认这个存档文件已经被创建并且也检查它的大小,我们可以使用ls命令:

[root@rockygu ~]# ls -lh test.tar.br2
-rw-r--r-- 1 root root 2.9M Jul  3 22:21 test.tar.br2

接着使用split工具,我们按以下把test.tar.br2存档文件分割为每个尺寸1M的小块:

[root@rockygu ~]# split -b 1M test.tar.br2 "test.tar.br2.part"
[root@rockygu ~]# ls -lh
total 5.8M
drwxr-xr-x 4 root root  177 Jul  3 09:04 test
-rw-r--r-- 1 root root 2.9M Jul  3 22:21 test.tar.br2
-rw-r--r-- 1 root root 1.0M Jul  3 22:26 test.tar.br2.partaa
-rw-r--r-- 1 root root 1.0M Jul  3 22:26 test.tar.br2.partab
-rw-r--r-- 1 root root 917K Jul  3 22:26 test.tar.br2.partac

如你从以上命令输出所见,tar存档文件已经被分成了3个部分。

注意:在以上split命令中,选项-b用于指定每个块的尺寸,而"test.tar.br2.part"是分割后创建的每个块文件名称的前缀。

示例2:在这个实例中,我们按如下使用管道连接tar的输出到split:

[root@rockygu ~]# tar -cvzf - test/* | split -b 500K - "test_2.tar.gz.part"
test/fold/
test/guid.txt
test/perm.txt
test/rock.html
test/Rock.txt
test/Rocky/
test/Rocky/1.txt
test/Rocky/2.txt
test/Rocky/3.txt
test/Rocky/4.txt
test/Rocky/5.txt
test/rocky.c
test/rocky.sh
test/suid.txt
test/test.tar.gz

确认这些文件:

[root@rockygu ~]# ls -lh test_2.tar.gz.part*
-rw-r--r-- 1 root root 500K Jul  3 23:41 test_2.tar.gz.partaa
-rw-r--r-- 1 root root 500K Jul  3 23:41 test_2.tar.gz.partab
-rw-r--r-- 1 root root 500K Jul  3 23:41 test_2.tar.gz.partac
-rw-r--r-- 1 root root 500K Jul  3 23:41 test_2.tar.gz.partad
-rw-r--r-- 1 root root 500K Jul  3 23:41 test_2.tar.gz.partae
-rw-r--r-- 1 root root 449K Jul  3 23:41 test_2.tar.gz.partaf

在这个示例中,如你注意到我们不需要指定一个存档名称,只要使用'-'符号。

在分割后如何组合tar文件

在Linux中成功分割tar文件或者任何大型文件后,你可以使用cat命令组合这些文件。使用cat是执行组合操作的最高效和可靠方法。

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

[root@rockygu back]# ls
test_2.tar.gz.partaa  test_2.tar.gz.partac  test_2.tar.gz.partae
test_2.tar.gz.partab  test_2.tar.gz.partad  test_2.tar.gz.partaf
[root@rockygu back]# cat test_2.tar.gz.part* > backup.tar.gz
[root@rockygu back]# ls
backup.tar.gz         test_2.tar.gz.partab  test_2.tar.gz.partad  test_2.tar.gz.partaf
test_2.tar.gz.partaa  test_2.tar.gz.partac  test_2.tar.gz.partae

我们能够看到在运行cat命令后,它组合我们先前创建的所有小块成相同大小的原先tar存档文件。

解压组合回的文件,检查其中内容:

[root@rockygu back]# tar -xvzf backup.tar.gz
test/fold/
test/guid.txt
test/perm.txt
test/rock.html
test/Rock.txt
test/Rocky/
test/Rocky/1.txt
test/Rocky/2.txt
test/Rocky/3.txt
test/Rocky/4.txt
test/Rocky/5.txt
test/rocky.c
test/rocky.sh
test/suid.txt
test/test.tar.gz
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值