如何分块下载大文件

如何分块下载大文件

我正在尝试下载一个 40GB 的文件并将其直接保存到我的 USB 闪存驱动器中,因为我的本地硬盘上没有足够的空间来存储该文件。

我的互联网连接每天的下载量也被限制为 10GB,并且我的 USB 格式为 FAT32,因此无法处理大于 4GB 的文件。

有没有办法每天下载几个 4GB 大小的文件块,然后在下载完成后将它们拼接在一起?

我正在使用 Windows 10,并且还有一个 Kali Linux 实时 USB 密钥。

答案1

如果您下载的站点支持续传下载,则您可以使用curl选项--continue-atwget选项--start-pos

虽然有一个--max-filesize选项curl,但它只是拒绝下载文件。

因此,当文件足够大时,您可以中断下载,或者使用附加程序pv(您可能必须安装此软件包)。

例如:假设“十进制” GB 比较安全,4 GB = 4000000000,因此使用

curl --continue-at 8000000000 http://your/file/url | pv -S --size 4000000000 > your-file-name

下载第三个块。(我希望 curl 能够正确处理大数字,我只检查了小数字)。

两者都是标准的 Linux 程序,我不知道它们是否也适用于 Windows。

相关内容