标签 下载 下的文章

就算是网费每天变得越来越便宜,你也不应该重复下载相同的东西来浪费你的流量。一个很好的例子就是下载 Ubuntu 或任何 Linux 镜像的开发版本。如你所知,Ubuntu 开发人员每隔几个月就会发布一次日常构建、alpha、beta 版 ISO 镜像以供测试。在过去,一旦发布我就会下载这些镜像,并审查每个版本。现在不用了!感谢 Zsync 文件传输程序。现在可以仅下载 ISO 镜像新的部分。这将为你节省大量时间和 Internet 带宽。不仅时间和带宽,它将为你节省服务端和客户端的资源。

Zsync 使用与 Rsync 相同​​的算法,如果你会得到一份已有文件旧版本,它只下载该文件新的部分。 Rsync 主要用于在计算机之间同步数据,而 Zsync 则用于分发数据。简单地说,可以使用 Zsync 将中心的一个文件分发给数千个下载者。它在 Artistic License V2 许可证下发布,完全免费且开源。

安装 Zsync

Zsync 在大多数 Linux 发行版的默认仓库中有。

在 Arch Linux 及其衍生版上,使用命令安装它:

$ sudo pacman -S zsync

在 Fedora 上,启用 Zsync 仓库:

$ sudo dnf copr enable ngompa/zsync

并使用命令安装它:

$ sudo dnf install zsync

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install zsync

对于其他发行版,你可以从 Zsync 下载页面下载二进制打包文件,并手动编译安装它,如下所示。

$ wget http://zsync.moria.org.uk/download/zsync-0.6.2.tar.bz2
$ tar xjf zsync-0.6.2.tar.bz2
$ cd zsync-0.6.2/
$ configure
$ make
$ sudo make install

用法

请注意,只有当人们提供 zsync 下载方式时,zsync 才有用。目前,Debian、Ubuntu(所有版本)的 ISO 镜像都有 .zsync 下载链接。例如,请访问以下链接。

你可能注意到,Ubuntu 18.04 LTS 每日构建版有直接的 ISO 和 .zsync 文件。如果你下载 .ISO 文件,则必须在 ISO 更新时下载完整的 ISO 文件。但是,如果你下载的是 .zsync 文件,那么 Zsync 以后仅会下载新的更改。你不需要每次都下载整个 ISO 映像。

.zsync 文件包含 zsync 程序所需的元数据。该文件包含 rsync 算法的预先计算的校验和。它在服务器上生成一次,然后由任意数量的下载器使用。要使用 Zsync 客户端程序下载 .zsync 文件,你只需执行以下操作:

$ zsync <.zsync-file-URL>

例如:

$ zsync http://cdimage.ubuntu.com/ubuntu/daily-live/current/bionic-desktop-amd64.iso.zsync

如果你的系统中已有以前的镜像文件,那么 Zsync 将计算远程服务器中旧文件和新文件之间的差异,并仅下载新的部分。你将在终端看见计算过程一系列的点或星星。

如果你下载的文件的旧版本存在于当前工作目录,那么 Zsync 将只下载新的部分。下载完成后,你将看到两个镜像,一个你刚下载的镜像和以 .iso.zs-old 为扩展名的旧镜像。

如果没有找到相关的本地数据,Zsync 会下载整个文件。

你可以随时按 CTRL-C 取消下载过程。

试想一下,如果你直接下载 .ISO 文件或使用 torrent,每当你下载新镜像时,你将损失约 1.4GB 流量。因此,Zsync 不会下载整个 Alpha、beta 和日常构建映像,而只是在你的系统上下载了 ISO 文件的新部分,并在系统中有一个旧版本的拷贝。

今天就到这里。希望对你有帮助。我将很快另外写一篇有用的指南。在此之前,请保持关注!

干杯!


via: https://www.ostechnix.com/zsync-file-transfer-utility-download-new-parts-file/

作者:SK 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

当想要直接通过 Linux 命令行下载文件,马上就能想到两个工具:wget 和 cURL。它们有很多一样的特征,可以很轻易的完成一些相同的任务。

虽然它们有一些相似的特征,但它们并不是完全一样。这两个程序适用与不同的场合,在特定场合下,都拥有各自的特性。

cURL vs wget: 相似之处

wget 和 cURL 都可以下载内容。它们的核心就是这么设计的。它们都可以向互联网发送请求并返回请求项。这可以是文件、图片或者是其他诸如网站的原始 HTML 之类。

这两个程序都可以进行 HTTP POST 请求。这意味着它们都可以向网站发送数据,比如说填充表单什么的。

由于这两者都是命令行工具,它们都被设计成可脚本化。wget 和 cURL 都可以写进你的 Bash 脚本 ,自动与新内容交互,下载所需内容。

wget 的优势

 title=

wget 简单直接。这意味着你能享受它超凡的下载速度。wget 是一个独立的程序,无需额外的资源库,更不会做其范畴之外的事情。

wget 是专业的直接下载程序,支持递归下载。同时,它也允许你下载网页中或是 FTP 目录中的任何内容。

wget 拥有智能的默认设置。它规定了很多在常规浏览器里的事物处理方式,比如 cookies 和重定向,这都不需要额外的配置。可以说,wget 简直就是无需说明,开罐即食!

cURL 优势

 title=

cURL是一个多功能工具。当然,它可以下载网络内容,但同时它也能做更多别的事情。

cURL 技术支持库是:libcurl。这就意味着你可以基于 cURL 编写整个程序,允许你基于 libcurl 库中编写图形环境的下载程序,访问它所有的功能。

cURL 宽泛的网络协议支持可能是其最大的卖点。cURL 支持访问 HTTP 和 HTTPS 协议,能够处理 FTP 传输。它支持 LDAP 协议,甚至支持 Samba 分享。实际上,你还可以用 cURL 收发邮件。

cURL 也有一些简洁的安全特性。cURL 支持安装许多 SSL/TLS 库,也支持通过网络代理访问,包括 SOCKS。这意味着,你可以越过 Tor 来使用cURL。

cURL 同样支持让数据发送变得更容易的 gzip 压缩技术。

思考总结

那你应该使用 cURL 还是使用 wget?这个比较得看实际用途。如果你想快速下载并且没有担心参数标识的需求,那你应该使用轻便有效的 wget。如果你想做一些更复杂的使用,直觉告诉你,你应该选择 cRUL。

cURL 支持你做很多事情。你可以把 cURL 想象成一个精简的命令行网页浏览器。它支持几乎你能想到的所有协议,可以交互访问几乎所有在线内容。唯一和浏览器不同的是,cURL 不会渲染接收到的相应信息。


via: https://www.maketecheasier.com/curl-vs-wget/

作者:Nick Congleton 译者:CYLeft 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Youtube-dl 是一个自由开源的命令行视频下载工具,可以用来从 Youtube 等类似的网站上下载视频,目前它支持的网站除了 Youtube 还有 Facebook、Dailymotion、Google Video、Yahoo 等等。它构架于 pygtk 之上,需要 Python 的支持来运行。它支持很多操作系统,包括 Windows、Mac 以及 Unix。Youtube-dl 还有断点续传、下载整个频道或者整个播放清单中的视频、添加自定义的标题、代理等等其他功能。

本文中,我们将来学习如何在 Ubuntu 16.04 上安装并使用 Youtube-dl 和 Youtube-dlg。我们还会学习如何以不同质量,不同格式来下载 Youtube 中的视频。

前置需求

  • 一台运行 Ubuntu 16.04 的服务器。
  • 非 root 用户但拥有 sudo 特权。

让我们首先用下面命令升级系统到最新版:

sudo apt-get update -y
sudo apt-get upgrade -y

然后重启系统应用这些变更。

安装 Youtube-dl

默认情况下,Youtube-dl 并不在 Ubuntu-16.04 仓库中。你需要从官网上来下载它。使用 curl 命令可以进行下载:

首先,使用下面命令安装 curl

sudo apt-get install curl -y

然后,下载 youtube-dl 的二进制包:

curl -L https://yt-dl.org/latest/youtube-dl -o /usr/bin/youtube-dl

接着,用下面命令更改 youtube-dl 二进制包的权限:

sudo chmod 755 /usr/bin/youtube-dl

youtube-dl 算是安装好了,现在可以进行下一步了。

使用 Youtube-dl

运行下面命令会列出 youtube-dl 的所有可选项:

youtube-dl --h

youtube-dl 支持多种视频格式,像 Mp4,WebM,3gp,以及 FLV 都支持。你可以使用下面命令列出指定视频所支持的所有格式:

youtube-dl -F https://www.youtube.com/watch?v=j_JgXJ-apXs

如下所示,你会看到该视频所有可能的格式:

[info] Available formats for j_JgXJ-apXs:
format code  extension  resolution note
139          m4a        audio only DASH audio   56k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 756.44KiB
249          webm       audio only DASH audio   56k , opus @ 50k, 724.28KiB
250          webm       audio only DASH audio   69k , opus @ 70k, 902.75KiB
171          webm       audio only DASH audio  110k , vorbis@128k, 1.32MiB
251          webm       audio only DASH audio  122k , opus @160k, 1.57MiB
140          m4a        audio only DASH audio  146k , m4a_dash container, mp4a.40.2@128k (44100Hz), 1.97MiB
278          webm       256x144    144p   97k , webm container, vp9, 24fps, video only, 1.33MiB
160          mp4        256x144    DASH video  102k , avc1.4d400c, 24fps, video only, 731.53KiB
133          mp4        426x240    DASH video  174k , avc1.4d4015, 24fps, video only, 1.36MiB
242          webm       426x240    240p  221k , vp9, 24fps, video only, 1.74MiB
134          mp4        640x360    DASH video  369k , avc1.4d401e, 24fps, video only, 2.90MiB
243          webm       640x360    360p  500k , vp9, 24fps, video only, 4.15MiB
135          mp4        854x480    DASH video  746k , avc1.4d401e, 24fps, video only, 6.11MiB
244          webm       854x480    480p  844k , vp9, 24fps, video only, 7.27MiB
247          webm       1280x720   720p 1155k , vp9, 24fps, video only, 9.21MiB
136          mp4        1280x720   DASH video 1300k , avc1.4d401f, 24fps, video only, 9.66MiB
248          webm       1920x1080  1080p 1732k , vp9, 24fps, video only, 14.24MiB
137          mp4        1920x1080  DASH video 2217k , avc1.640028, 24fps, video only, 15.28MiB
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
43           webm       640x360    medium , vp8.0, vorbis@128k
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)

然后使用 -f 指定你想要下载的格式,如下所示:

youtube-dl -f 18 https://www.youtube.com/watch?v=j_JgXJ-apXs

该命令会下载 640x360 分辨率的 mp4 格式的视频:

[youtube] j_JgXJ-apXs: Downloading webpage
[youtube] j_JgXJ-apXs: Downloading video info webpage
[youtube] j_JgXJ-apXs: Extracting video information
[youtube] j_JgXJ-apXs: Downloading MPD manifest
[download] Destination: B.A. PASS 2 Trailer no 2 _ Filmybox-j_JgXJ-apXs.mp4
[download] 100% of 6.90MiB in 00:47

如果你想以 mp3 音频的格式下载 Youtube 视频,也可以做到:

youtube-dl https://www.youtube.com/watch?v=j_JgXJ-apXs -x --audio-format mp3

你也可以下载指定频道中的所有视频,只需要把频道的 URL 放到后面就行,如下所示:

youtube-dl -citw https://www.youtube.com/channel/UCatfiM69M9ZnNhOzy0jZ41A

若你的网络需要通过代理,那么可以使用 --proxy 来下载视频:

youtube-dl --proxy http://proxy-ip:port https://www.youtube.com/watch?v=j_JgXJ-apXs

若想一条命令下载多个 Youtube 视频,那么首先把所有要下载的 Youtube 视频 URL 存在一个文件中(假设这个文件叫 youtube-list.txt),然后运行下面命令:

youtube-dl -a youtube-list.txt

安装 Youtube-dl GUI

若你想要图形化的界面,那么 youtube-dlg 是你最好的选择。youtube-dlg 是一款由 wxPython 所写的免费而开源的 youtube-dl 界面。

该工具默认也不在 Ubuntu 16.04 仓库中。因此你需要为它添加 PPA。

sudo add-apt-repository ppa:nilarimogard/webupd8

下一步,更新软件包仓库并安装 youtube-dlg

sudo apt-get update -y
sudo apt-get install youtube-dlg -y

安装好 Youtube-dl 后,就能在 Unity Dash 中启动它了:

现在你只需要将 URL 粘贴到上图中的 URL 域就能下载视频了。Youtube-dlg 对于那些不太懂命令行的人来说很有用。

结语

恭喜你!你已经成功地在 Ubuntu 16.04 服务器上安装好了 youtube-dl 和 youtube-dlg。你可以很方便地从 Youtube 及任何 youtube-dl 支持的网站上以任何格式和任何大小下载视频了。


via: https://www.howtoforge.com/tutorial/install-and-use-youtube-dl-on-ubuntu-1604/

作者:Hitesh Jethva 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

最近我不得不给我的手机下载更新包,但是当我开始下载的时候,我发现安装包过于庞大。大约有 1.5 GB。

使用 Chrome 下载 MIUI 更新

考虑到这个下载速度至少需要花费 1 至 1.5 小时来下载,并且说实话我并没有这么多时间。现在我下载速度可能会很慢,但是我的 ISP 有 Google Peering (Google 对等操作)。这意味着我可以在所有的 Google 产品中获得一个惊人的速度,例如Google Drive, YouTube 和 PlayStore。

所以我找到一个网络服务叫做 savetodrive。这个网站可以从网页上直接保存文件到你的 Google Drive 文件夹之中。之后你就可以从你的 Google Drive 上面下载它,这样的下载速度会快很多。

现在让我们来看看如何操作。

第一步

获得文件的下载链接,将它复制到你的剪贴板。

第二步

前往链接 savetodrive 并且点击相应位置以验证身份。

savetodrive 将文件保存到 Google Drive

这将会请求获得使用你 Google Drive 的权限,点击 “Allow”。

请求获得 Google Drive 的使用权限

第三步

你将会再一次看到下面的页面,此时仅仅需要输入下载链接在链接框中,并且点击 “Upload”。

savetodrive 直接给 Google Drive 上传文件

你将会开始看到上传进度条,可以看到上传速度达到了 48 Mbps,所以上传我这个 1.5 GB 的文件需要 30 至 35 秒。一旦这里完成了,进入你的 Google Drive 你就可以看到刚才上传的文件。

Google Drive savetodrive

这里的文件中,文件名开头是 miui 的就是我刚才上传的,现在我可以用一个很快的速度下载下来。

如何从浏览器上下载 MIUI 更新

可以看到我的下载速度大概是 5 Mbps ,所以我下载这个文件只需要 5 到 6 分钟。

所以就是这样的,我经常用这样的方法下载文件,最令人惊讶的是,这个服务是完全免费的。


via: http://www.theitstuff.com/save-files-directly-google-drive-download-10-times-faster

作者:Rishabh Kandari 译者:Drshu 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

Axel 是一个轻量级下载程序,它和其他加速器一样,对同一个文件建立多个连接,每个连接下载单独的文件片段以更快地完成下载。

Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点下载单个文件,所以,Axel 可以加速下载高达 40%(大约,我个人认为)。它非常轻量级,因为它没有依赖并且使用非常少的 CPU 和内存。

Axel 一步到位地将所有数据直接下载到目标文件(LCTT 译注:而不是像其它的下载软件那样下载成多个文件块,然后拼接)。

注意:不支持在单条命令中下载两个文件。

你还可以尝试其他命令行下载管理器/加速器。

大多数发行版(Debian、Ubuntu、Mint、Fedora、suse、openSUSE、Arch Linux、Manjaro、Mageia 等)都有 axel 包,所以我们可以从发行版官方仓库轻松安装。对于 CentOS/RHEL,我们需要启用 EPEL Repository

[在 Debian/Ubuntu/LinuxMint 上安装 Axel]
$ sudo apt-get install axel

[在 RHEL/CentOS 上安装 Axel]
$ sudo yum install axel

[在 Fedora 上安装 Axel]
$ sudo dnf install axel

[在 openSUSE 上安装 Axel]
$ sudo zypper install axel

[在 Mageia 上安装 Axel]
$ sudo urpmi axel

[在基于 Arch Linux 的发行版安装 Axel]
$ sudo pacman -S axel

1) 下载单个文件

以下命令将从给定的 URL 下载文件并存储在当前目录中,下载文件时,我们可以看到文件的信息(建立的连接数、下载速度、下载进度、完成下载所花费的时间以及连接完成的时间)。

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 146.7KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 267.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 373.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 406.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 487.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 572.6KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 650.7KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 649.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 718.1KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 769.3KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 838.7KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 866.0KB/s]
Connection 0 finished
.
.
[ 99%]  .......... .......... .......... .......... ..........  [5721.0KB/s]
Connection 2 finished
[ 99%]  .......... .......... .......... .......... ..........  [5733.4KB/s]
Connection 1 finished
[ 99%]  .......... .......... .......... .......... ..........  [5745.4KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 21.6 megabytes in 3 seconds. (5755.94 KB/s)

2) 用不同的名称保存文件

要使用其他名称来保存文件,启动下载时可以添加 -o(小写字母)选项和文件名。这里我们使用文件名 owncloud.tar.bz2 来保存文件。

# axel -o cloud.tar.bz2 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file cloud.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 143.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 264.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 309.8KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 406.3KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 495.4KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 586.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 673.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 647.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 721.1KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 781.3KB/s]
Connection 2 finished
.
.
Connection 0 finished
[ 98%]  .......... .......... .......... .......... ..........  [6221.9KB/s]
[ 98%]  .......... .......... .....
Connection 1 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,..... .......... ..........  [6145.6KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [6159.2KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [6172.0KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [5977.9KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [5989.6KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 21.6 megabytes in 3 seconds. (6001.05 KB/s)

3) 限制下载速度

默认情况下 axel 以字节/秒为单位设置下载文件的最大速度。当我们的网络连接速度较慢时,可以使用此选项。只需添加 -s 选项,后面跟字节值。这里我们要限速 512 KB/s 下载一个文件。

# axel -s 512000 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 141.5KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 266.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 308.0KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 405.9KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 496.7KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 526.4KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 507.0KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 505.6KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 504.8KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 503.9KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 503.4KB/s]
.
.
[ 99%]  .......... .......... .......... .......... ..........  [ 497.0KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [ 496.9KB/s]
[100%]  .......... ..
Connection 0 finished
        ,,,,,,,,,, ,,.....
Connection 1 finished
Connection 3 finished
        ,,,,,,,,,, ,,,,,,,... .......... .......... ......

Downloaded 21.6 megabytes in 44 seconds. (494.54 KB/s)

4) 限制连接数

axel 默认建立 4 个连接以从不同的镜像获取文件。此外,我们可以通过使用 -n 选项添加更多的连接,后跟连接数 10 来提高下载速度。保险起见,我们添加了十个连接,但不幸的是,它花了更多时间来下载文件。

# axel -n 10 https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 140.8KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 265.7KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 305.4KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 402.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 496.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 522.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 567.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 640.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 710.8KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 780.5KB/s]
.
.
[ 98%]  .......... .......... .......... .......... ..........  [7544.9KB/s]
[ 98%]  .......... .......... .......... .......... ..........  [7557.9KB/s]
[ 98%]  .......... .......... .......... .......... ..........  [7570.4KB/s]
[ 98%]  .......... .......... .......... .......... ..........  [7495.3KB/s]
[ 99%]  .......... .......... .......... .......... ......
Connection 2 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,....  [7311.6KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [7318.9KB/s]
[ 99%]  .......... .......... .......... .......... ..........
Connection 9 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,,  [7331.0KB/s]
[ 99%]  .......... .......... .......... ..........
Connection 3 finished
        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ..........  [4300.7KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 21.6 megabytes in 5 seconds. (4109.41 KB/s)

5) 恢复未完成的下载

axel 默认具有恢复未完成的下载的行为。Axel 在下载文件时定期更新状态文件(扩展名为 .st)。由于某些原因,下载中途停止了?不用担心,只要使用相同的 axel 命令,它将会检查 filefile.st,如果找到,它会从停止处恢复下载。

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[  0%]  .......... .......... .......... .......... ..........  [ 140.8KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 265.7KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 305.4KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 402.1KB/s]
[  0%]  .......... .......... .......... .......... ..........  [ 496.3KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 522.1KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 567.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 640.5KB/s]
[  1%]  .......... .......... .......... .......... ..........  [ 710.8KB/s]
[  2%]  .......... .......... .......... .......... ..........  [ 780.5KB/s]
.
.
[ 84%]  .......... .......... .......... .......... ..........  [7100.7KB/s]
[ 84%]  .......... .......... .......... .......... ..........  [7104.3KB/s]
[ 84%]  .......... .......... .......... .^C

Downloaded 18.3 megabytes in 2 seconds. (7009.79 KB/s)

上面的输出清晰地显示了在下载断开时有两个文件 owncloud-9.0.0.tar.bz2owncloud-9.0.0.tar.bz2.st。当重新开始下载时,它会从停止处开始下载。

# ls -lh
total 19M
-rw------- 1 root root 22M Dec 27 08:33 owncloud-9.0.0.tar.bz2
-rw------- 1 root root  44 Dec 27 08:33 owncloud-9.0.0.tar.bz2.st

# axel https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
State file found: 19180828 bytes downloaded, 3497380 to go.
Starting download

        ,,,,,,,,,, ,,,,,,,,,, ,,,,,,,,,, ,......... ..........  [  66.5KB/s]
[ 84%]  .......... .......... .......... .......... ..........  [ 186.0KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 241.7KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 335.6KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 351.5KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 427.1KB/s]
[ 85%]  .......... .......... .......... .......... ..........  [ 427.4KB/s]
[ 86%]  .......... .......... .......... .......... ..........  [ 491.5KB/s]
.
.
[ 98%]  ...
Connection 0 finished
        ,,,....... .......... .......... .......... ..........  [2106.6KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2140.5KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2172.4KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2203.2KB/s]
[ 99%]  .......... .......... .......... .......... ..........  [2236.2KB/s]
[100%]  .......... .......... .......... .......... ......

Downloaded 3415.4 kilobytes in 1 second. (2264.93 KB/s)

6) 不显示文件下载进度

如果你不想要看到文件的下载进度,只要在 axel 命令中加入 -q 选项。

# axel -q https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2

7) 替换进度条

如果你不喜欢默认的进度条,你可以使用 -a 选项来替换进度条。

# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Initializing download: https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

[ 66%] [......0      ...1        ..........2  ...........3] [   5.8MB/s] [00:01]^C

Downloaded 14.3 megabytes in 2 seconds. (5916.11 KB/s)

我们中断了上面的下载,以便在下载文件时能清楚地显示替代进度条状态。一旦文件成功下载后,你可以看到相同的输出,如下所示。

# axel -a https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
File size: 22678208 bytes
Opening output file owncloud-9.0.0.tar.bz2
Starting download

Connection 2 finished                                                          ]
Connection 1 finished                                                          ]
Connection 3 finished                                                          ]
Connection 0 finished                                                          ]

Downloaded 21.6 megabytes in 4 seconds. (5062.32 KB/s)

8) 了解关于 axel 的更多信息

如果你想要了解更多关于 axel 的选项,只需要进入它的手册。

# man axel
或者
# axel --help

享受吧……


via: http://www.2daygeek.com/axel-command-line-downloader-accelerator-for-linux/

作者:Magesh Maruthamuthu 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

我们经常由于不同需求使用下载管理器从互联网下载文件,它给我和其他人提供了很多帮助。我们都想要一个超级快速的下载管理器来完成下载尽可能多的任务,以便我们可以节省时间来进一步地工作。有很多可以加速下载的下载管理器和加速器可用(图形化界面和命令行界面)。

所有的下载工具做着同样的任务,但它们的处理方式和功能是不同的,比如,单线程和多线程、交互和非交互。 在这里,我们将列出 4 个最好的我们日常工作使用的命令行下载加速器。

1 Aria2

Aria2 是一个用于 Linux、Windows 和 Mac OSX 的轻量级、多协议和多源的命令行下载管理器/实用程序。它支持 HTTP/HTTPS、FTP、SFTP、BitTorrent 和 Metalink。aria2 可以通过内置的 JSON-RPC 和 XML-RPC 接口操作。

它支持多线程,可以使用多个源或协议下载文件,确实可以加速并尽可能多的完成下载。

它非常轻量级,不需要太多的内存和 CPU。我们可以使用它作为 BitTorrent 客户端,因为它有所有你想要的 BitTorrent 客户端的功能。

Aria2 功能

  • 支持 HTTP/HTTPS GET 方式
  • 支持 HTTP 代理
  • 支持 HTTP BASIC 认证
  • 支持 HTTP 代理认证
  • 支持 FTP (主动、被动模式)
  • 通过 HTTP 代理的 FTP(GET 命令或隧道)
  • 分段下载
  • 支持 Cookie
  • 它可以作为守护进程运行。
  • 支持 BitTorrent 协议和 fast 扩展。
  • 在含有多个文件的 torrent 中的选择性下载
  • 支持 Metalink 版本 3.0 (HTTP/FTP/BitTorrent)。
  • 限制下载/上传速度

有关 Aria2 的进一步用法,请参阅以下文章:如何在 Linux 中安装和使用 Aria2

2 Axel

Axel 是一个轻量级下载程序,它如其他加速器那样做着同样的事情。它可以为一个文件打开多个连接,每个连接下载单独的文件片段以更快地完成下载。

Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点来下载单个文件。 所以,Axel 可以为下载加速高达 40%(大约,我个人认为)。 它非常轻量级,因为没有依赖,而且使用非常少的 CPU 和内存。

Axel 使用一个单线程将所有数据直接下载到目标文件。

注意:没有可以在单条命令中下载两个文件的选项。

有关 Axel 的更多使用,请参阅以下文章:如何在 Linux 中安装和使用 Axel

3 Wget

wget(以前称为 Geturl)是一个免费的、开源的命令行下载程序,它使用 HTTP、HTTPS 和 FTP 这些最广泛使用的 Internet 协议来获取文件。它是一个非交互式命令行工具,其名字是意思是从万维网中获取文件。

相比其它工具,wget 将下载处理得相当好,即使它不支持多线程以及包括后台工作、递归下载、多个文件下载、恢复下载、非交互式下载和大文件下载在内的功能。

默认情况下,所有的 Linux 发行版都包含 wget,所以我们可以从官方仓库轻松安装,也可以安装到 windows 和 Mac 操作系统。

wget 可在慢速或不稳定的网络连接下保持健壮性,如果由于网络问题下载失败,它将继续重试,直到整个文件下载完成。如果服务器支持重新获取,它将指示服务器从中断的地方继续下载。

wget 功能

  • 可以使用 REST 和 RANGE 恢复中止的下载
  • 可以使用文件名通配符和递归来对目录进行镜像同步
  • 基于 NLS 消息文件,提供许多不同语言支持
  • 可选将下载的文档中的绝对链接转换为相对链接,以便下载的文档可以在本地链接到彼此
  • 可在大多数类 UNIX 操作系统以及 Microsoft Windows 上运行
  • 支持 HTTP 代理
  • 支持 HTTP cookie
  • 支持持久 HTTP 连接
  • 无人值守/后台操作
  • 使用本地文件时间戳来确定是否需要在镜像时重新下载文档

有关 wget 的进一步用法,请参阅以下文章:如何在 Linux 中安装和使用 wget

4 Curl

curl 类似于 wget,但是不支持多线程,但令人惊讶的是,与 wget 相比,它的下载速度更快。

curl 是一个向服务器上传或下载的数据传输工具,支持的协议有 DICT、FILE、FTP、FTPS、GOPHER、HTTP、HTTPS、IMAP、IMAPS、LDAP、LDAPS、POP3、POP3S、RTMP、RTSP、SCP、SFTP、SMTP、SMTPS、TELNET 和 TFT 等。

该命令无需用户交互即可工作。此外,curl 支持代理、用户身份验证、FTP 上传、HTTP POST、SSL 连接、Cookie、恢复文件传输、Metalink 等。curl 由 libcurl 为所有相关传输功能提供支持。

如果指定的 URL 没有 protocol:// 前缀,curl 将尝试猜测你可能需要什么协议。例如,以 “ftp.” 开头的主机名 curl 将假定你要使用 FTP。如果没有找到特定的协议,那么默认为 HTTP。

参考下面的文章来进一步使用 curl:如何在 Linux 中安装和使用 curl


via: http://www.2daygeek.com/best-4-command-line-download-managers-accelerators-for-linux/

作者:Magesh Maruthamuthu 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出