学习啦>学习电脑>操作系统>Linux教程>

LINUX向网盘上传大文件的方法

晓斌分享

  本方法仅适用于Linux,对于Windows用户,可以参考本方法的思路,一样可以做到类似的效果。对于使用Linux的朋友,本方法是通用的,无需安装任何其他程序。

  LINUX向网盘上传大文件的思路阐述

  1基本思想是分块上传。因为各大网盘一般都对一次性上传的文件大小有限制,所以我的建议是不管多大的文件,分割成30M左右的小文件再分别上传。当然你也可以酌情修改这个尺寸,比如你所处的网络环境较好,那么你可以修改得更大一点。

  2好处在于:

  1. 如果机器故障,那么也只会导致这30M文件上传失败,如果你1G的文件传到90%,电脑突然死机,那你不得气死?

  2. 小文件上传成功的概率很大。

  3. 下载的时候,把这一组文件一并勾选,那么网盘平台一般会给你做成一个压缩包下载,下好了之后,你在本地解压,那么文件都整整齐齐在你的电脑里,合并起来也方便。

  4. 事实上,你通过分割文件上传可以达到一种类似断点续传的效果,是不是感觉自带VIP光环呢?

  开始动手

  以一个叫“测试文件.test”的文件为例,它的大小为890.8M。虽然这个大小在很多网盘可以上传,但是考虑到上传成功率等因素,我们仍然可以将其切割后上传。

  具体做法,cd到文件所在的目录,然后再使用命令:

  split -d -b 30M 测试文件.test 测试文件.test_

  简单解释:

  split是专门用来切割文件的程序;

  -d 表示让分割后的文件末尾用数字作序号;

  -b 表示要分割成的文件块的大小,我设置的是30M,可以改成其他值;

  30M不解释。类似的,你可以写100K,1G之类的参数,它都可以识别;

  测试文件.test 是被分割的源文件;

  测试文件.test_ 是表示文件块的名字,下划线后面将会是它的序号。

  程序运行完毕,可以看到产生了如图的一堆30M的小文件(一共29个),它们的上传成功率是相当大的。

  现在来考虑另一个问题,如何把这些小文件合并?

  如前所述,下载后一般是一个压缩包的形式,你只需要解压,然后cd到这个目录。

  使用命令:

  cat 测试文件.test_* > 恢复文件.test

  注意大于符号左右两边都有空格。

  这个命令就是将所有小文件块合并成一个名叫“恢复文件.test”的文件。

  至此,整个过程就结束了。

    391484