知识库

个人知识管理

用户工具

站点工具


linux:如何在linux下将大文件分割成几个小文件

如何在linux下将大文件分割成几个小文件

前言

经常有大文件需要复制到U盘或者手机里,比如windows的镜像,但是受限于U盘和手机的格式,太大的文件(大于4G)无法正常拷入,一个解决办法就是将大文件分割成几个小文件,然后进行拷贝或者网络传输,下面将介绍在linux下如何利用 tarsplit 命令切割大文件。

操作步骤

我们将已一个windows的镜像为例,大小如下

$ls -sh cn_windows_7_professional_vl_build_x64_dvd_x15-71029.iso 
3.0G cn_windows_7_professional_vl_build_x64_dvd_x15-71029.iso

打包文件/文件夹

利用tar命令将需要切割的文件或者文件夹进行打包

tar czf windows7.tar.gz cn_windows_7_professional_vl_build_x64_dvd_x15-71029.iso

分割大文件

利用split命令分割文件

split -b 1G windows7.tar.gz "windows7.tar.gz.part"

-b参数指定了需要分割成的块大小,windows7.tar.gz.part则指明了分割后的文件名字前缀。

完成后我们就能看到分割后的文件

$ls -lh windows7.tar.gz*
-rw-r--r-- 1 zlzhao zlzhao 2.9G Jan 21 15:37 windows7.tar.gz
-rw-r--r-- 1 zlzhao zlzhao 1.0G Jan 21 15:42 windows7.tar.gz.partaa
-rw-r--r-- 1 zlzhao zlzhao 1.0G Jan 21 15:42 windows7.tar.gz.partab
-rw-r--r-- 1 zlzhao zlzhao 855M Jan 21 15:42 windows7.tar.gz.partac

合并分割后的文件

将文件复制或者传输到指定地方后,我们需要将其还原成原始大文件

$cat windows7.tar.gz.parta* >win7.tar.gz  

文件校验

验证下原始大文件和合并后的大文件的md5

$md5sum windows7.tar.gz
21607ccdc0b25edfead7206b7d1be934  windows7.tar.gz
$md5sum win7.tar.gz 
21607ccdc0b25edfead7206b7d1be934  win7.tar.gz

测试通过。

参考引用

linux/如何在linux下将大文件分割成几个小文件.txt · 最后更改: 2019/09/11 00:49 (外部编辑)