有一台VPS可以做各种各样好玩儿的东西,这不,楼主开始折腾离线下载了。
离线下载概述
既然我们要使用服务器离线下载,首先来了解一下离线下载的原理:
那么离线下载有什么优势呢?
- 对于一些慢速的大文件,可以扔到服务器上慢慢下,下好了再取回本地,避免长时间的等待;
- 如果你的vps位于国外,有些资源的下载vps速度更快,本地你可能耗时一整天都不一定能下完,就算下完了也可能是一个损坏的文件包,而vps几乎可以做到秒下,然后将下载好的资源同步到国内的百度云,这样绕个弯子会节省不少的时间。
离线下载方式
在Linux系统中有这样几种命令行下载方式:
1. wget
wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。
2. curl
curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。
3. axel
axel是Linux下一个不错的HTTP/ftp高速下载工具。支持多线程下载、断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件。适合网速不给力时多线程下载提高下载速度。比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快。
4. aria2
Aria2是一个基于命令行的开源下载工具,支持多协议、多来源(HTTP/HTTPS、FTP、BitTorrent、Metalink协议等)、多线程的下载。它比axel优秀的地方在于完全支持BitTorrent协议,同时可以作为BitTorrent客户端来下载种子文件,支持Metalink协议,远程控制(通过web端)下载进程。
主要优势如下:
- 高速,自动多线程下载;
- 断点续传;
- 轻量占用内存非常少,通常情况平均4~9MB内存占用(官方介绍);
- 多平台。支援 Win/Linux/OSX/Android 等操作系统下的部署;
- 模块化。分段下载引擎,文件整合速度快;
- 支持RPC界面远程;
- 全面支持BitTorrent协议;
Aria2官方项目页面:https://aria2.github.io/
关于Aria2的安装和使用教程请参见:CentOS下搭建Aria2远程下载环境
5. 各种下载工具的比较
协议 | wget | curl | axel | aria |
---|---|---|---|---|
HTTP(S) | ✓ | ✓ | ✓ | ✓ |
FTP | ✓ | ✓ | ✓ | ✓ |
SFTP | ✗ | ✓ | ✗ | ✗ |
BitTorrent | ✗ | ✗ | ✗ | ✓ |
Metalink | ✗ | ✗ | ✗ | ✓ |
Telnet | ✗ | ✓ | ✗ | ✗ |
IMAP | ✗ | ✓ | ✗ | ✗ |
POP3 | ✗ | ✓ | ✗ | ✗ |
SMTP | ✗ | ✓ | ✗ | ✗ |