目录
wget
aria2
cURL
Youtube-dl

https://zh.wikipedia.org/wiki/下载管理程序比较
https://wiki.archlinux.org/index.php/List_of_applications/Internet#Download_managers

wget

https://wiki.archlinux.org/index.php/Wget
https://www.gnu.org/software/wget/
https://www.gnu.org/software/wget/manual/wget.html#Examples
https://www.gnu.org/software/wget/manual/wget.html#Simple-Usage
http://man.linuxde.net/wget
GNU Wget是一个免费软件包,用于使用HTTP,HTTPS,FTP和FTPS(自版本1.18以来的FTPS)检索文件。
非交互式命令行工具,因此可以从脚本轻松调用它。
配置文件:/etc/wgetrc

Wget最基本和最常见的用例之一是从Internet下载文件。
$ wget <url>

存档一个完整的网站
Wget可以存档一个完整的网站,同时通过更改相对链接的绝对链接来保留正确的链接目的地。
$ wget -np -r -k
'http://your-url-here'

镜像网站
wget --mirror -p
--convert-links -P ./LOCAL URL

下载整个网站到本地。

  • --miror开户镜像下载。
  • -p下载所有为了html页面显示正常的文件。
  • --convert-links下载后,转换成本地的链接。
  • -P
    ./LOCAL保存所有文件和目录到本地指定目录。

过滤指定格式下载
wget --reject=gif
ur

下载一个网站,但你不希望下载图片,可以使用这条命令。

下载指定格式文件
wget -r -A.pdf
url

可以在以下情况使用该功能:
下载一个网站的所有图片。
下载一个网站的所有视频。
下载一个网站的所有PDF文件。

以下的例子是从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
下载并以不同的文件名保存
wget -O
wordpress.zip http://www.linuxde.net/download.aspx?id=1080
wget默认会以最后一个符合/的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

wget限速下载
wget
--limit-rate=300k http://www.linuxde.net/testfile.zip
当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

使用wget断点续传
wget -c
http://www.linuxde.net/testfile.zip
使用wget
-c重新启动下载中断的文件,对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

使用wget后台下载
wget -b
http://www.linuxde.net/testfile.zip
Continuing in
background, pid 1840.
Output will be
written to `wget-log'.
对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载,你可以使用以下命令来察看下载进度:

伪装代理名称下载
wget
--user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US)
AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204
Safari/534.16" http://www.linuxde.net/testfile.zip
有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过--user-agent参数伪装。

下载多个文件
wget -i filelist.txt

aria2

https://wiki.archlinux.org/index.php/Aria2
https://aria2.github.io/
aria2是一个轻量级的多协议和多源命令行下载实用程序。它支持HTTP
/ HTTPS,FTP,BitTorrent和Metalink。aria2可以通过内置的JSON-RPC和XML-RPC接口进行操作。

特征

  • 多连接下载。aria2可以从多个源/协议下载文件,并尝试利用您的最大下载带宽。真正加快您的下载体验。
  • 轻量级。aria2不需要太多内存和CPU时间。当磁盘缓存关闭时,物理内存使用量通常为4MiB(正常HTTP
    / FTP下载)到9MiB(BitTorrent下载)。下载速度为2.8MiB
    /秒的BitTorrent的CPU使用率约为6%。
  • 功能齐全的BitTorrent客户端。您可以在BitTorrent客户端中使用所有功能:DHT,PEX,加密,磁体URI,Web种子,选择性下载,本地对等发现和UDP跟踪器。
  • Metalink已启用。aria2支持Metalink下载格式
    (又名Metalink v4),Metalink版本3和
    Metalink / HTTP。Metalink提供文件验证,HTTP
    / FTP / SFTP / BitTorrent集成以及语言,位置,操作系统等的各种配置。
  • 遥控器。aria2支持RPC接口来控制aria2进程。支持的接口是JSON-RPC(通过HTTP和WebSocket)和XML-RPC。

配置文件:aria2.conf

continue
dir=${HOME}/Desktop
file-allocation=none
input-file=${HOME}/.aria2/input.conf
log-level=warn
max-connection-per-server=4
min-split-size=5M
on-download-complete=exit

This is
essentially the same as if running the following:

$ aria2c
--dir=${HOME}/Desktop --file-allocation=none
--input-file=${HOME}/.aria2/input.conf --on-download-complete=exit
--log-level=warn FILE

WEB下载:
$ aria2c
http://example.org/mylinux.iso

2个来源下载:
$ aria2c
http://a/f.iso ftp://b/f.iso

每个主机使用2个连接下载:
$ aria2c -x2
http://a/f.iso

BitTorrent的:
$ aria2c
http://example.org/mylinux.torrent

BitTorrent磁铁URI
$ aria2c
'magnet:?xt=urn:btih:248D0A1CD08284299DE78D5C1ED359BB46717D8C'

Metalink知识库:
$ aria2c
http://example.org/mylinux.metalink

下载文本文件中的URI
$ aria2c -i uris.txt

cURL

curl, An URL
retrieval utility and library. URL检索实用程序和库
https://curl.haxx.se/
https://curl.haxx.se/book.html
http://man.linuxde.net/curl
http://www.ruanyifeng.com/blog/2011/09/curl.html
$ curl 网址
//返回网页源码
如果要把这个网页保存下来,可以使用`-o`参数,这就相当于使用wget命令了。
$ curl -o [文件名]
www.sina.com

最新的curl(撰写本文时)支持这些协议:
DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET,TFTP
更复杂的是,协议通常以不同的版本或风格存在。

断点续传
curl能够从特定的文件偏移处继续下载,它可以通过指定一个便宜量来下载部分文件:
curl URL/File -C 偏移量
#偏移量是以字节为单位的整数,如果让curl自动推断出正确的续传位置使用-C
-:
curl -C -URL

Youtube-dl

同样也能支持断点续传,详见下面链接原文。
https://wiki.archlinux.org/index.php/Youtube-dl
youtube-dl是一个命令行程序,可让您轻松地从超过一千个网站下载视频和音频。请参阅支持的站点列表。
https://github.com/ytdl-org/youtube-dl/blob/master/docs/supportedsites.md
https://jlk.fjfi.cvut.cz/arch/manpages/man/youtube-dl.1
https://itsfoss.com/download-youtube-videos-ubuntu/
https://linux.cn/article-6473-1.html
https://linux.cn/article-9244-1.html
https://www.cnblogs.com/wpjamer/p/7392592.html
https://www.howtoing.com/install-youtube-dl-command-line-video-download-tool/

Linux命令行下载工具的更多相关文章

  1. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  2. 12款最佳Linux命令行终端工具, 20款优秀的 Linux 终端仿真器

    12款最佳Linux命令行终端工具     如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的 ...

  3. 【转】curl 命令行下载工具使用方法小结

    获取curl curl 命令行下载工具 curl的官方网站为: http://curl.haxx.se官方下载页面为:http://curl.haxx.se/download.html 你可能并不清楚 ...

  4. [转]12款最佳Linux命令行终端工具

    摘要 “工欲善其事必先利其器”,作为菜鸟,也是从别人那里偷学来的一些东东.今天看到同事用到一个终端命令行工具,觉得自己弱爆了.然后在网上搜了下该工具.发现类似的工具还是挺多的,只是自己不知道罢了. 原 ...

  5. 12款最佳Linux命令行终端工具

    12款最佳Linux命令行终端工具 如果你跟我一样,整天要花大量的时间使用Linux命令行,而且正在寻找一些可替代系统自带的老旧且乏味的终端软件,那你真是找对了文章.我这里搜集了一些非常有趣的终端软件 ...

  6. You-Get 视频下载工具 Python命令行下载工具

    You-Get 是一个命令行工具, 用来下载各大视频网站的视频, 是我目前知道的命令行下载工具中最好的一个, 之前使用过 youtube-dl, 但是 youtube-dl 吧, 下载好的视频是分段的 ...

  7. 命令行下载工具 wget

    wget 是一个简单而强大的跨平台命令行下载工具,包括 Windows 也有对应的版本.全称 GNU Wget,属于 GNU 计划的一部分,自由软件.支持 HTTP.HTTPS 和 FTP 协议,可在 ...

  8. Linux下十大命令行下载工具

    Wget 这是最有名的工具,可用于通过CLI下载.这款工具功能很丰富,可以充当某种功能完备的GUI下载管理器,它拥有一款理想的下载管理器所需要的所有功能,比如它可以恢复下载,可以下载多个文件,出现某个 ...

  9. Linux 命令行作弊工具安利

    本文转自 微信公众号<Linux爱好者>的一篇文章,觉得工具非常好使,且极具使用价值,所以在此安利一下 Linux 用户的福音,记忆力解放!快速调用复杂命令 刚学的一句新命令,才用完就忘了 ...

随机推荐

  1. 13. Roman to Integer ★

    题目内容: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range fr ...

  2. python入门(五)

    一.函数返回值 1.函数如果返回多个值,他会把这几个值放到一个元组里面 2.也可以用多个变量来接收 返回多个值放到元组里面 def say(): num1=1 num2=2 num3=3 return ...

  3. HDFS优缺点

    HDFS解决大数据存储的问题 HDFS优点 高容错性 数据自动保存多个副本 副本丢失后自动恢复 适合批处理 移动计算而非数据 数据位置暴露给计算框架 适合大数据处理 GB.TB.甚至PB级数据 百万规 ...

  4. @EnableHystrix

    @EnableHystrix 启动熔断降级服务 @Component把普通的pojo类实例到spring容器中去,相当于配置文件中的<bean id="" class=&qu ...

  5. SPRINGMVC中的中文乱码处理

    说到乱码处理,对于很多人来说是非常经常遇到的,现在来总结一下web工程中中文乱码处理的几个步骤,乱码处理大致可以分为一下几步,分别从页面到数据库: 页面传值到后台: 工程编码(最后一开始建立工程就设置 ...

  6. npm -g -D -s的区别

    npm install module-name 全局安装 npm install module-name -D 即 npm install module-name -save-dev  保存到devD ...

  7. spring cloud config git库文件搜索顺序

    spring.cloud.config.server.git.uri只配置到仓库那一层就行了,需要访问仓库的子目录的话就配置spring.cloud.config.server.git.searchP ...

  8. java第11周

    1.JPQL查询 JPQL全称Java Persistence Query Language 基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移 ...

  9. filter以及reduce的用法

    简单的写了就几个例子 # 删掉偶数 li = [1,2,3,4,5,6,7,8,9,10] print(list(filter( lambda x : not x % 2 ==0 ,li))) #保留 ...

  10. IDEA常用快捷键总结

    Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣的讨论.每个人都有自己的最爱,想排出个理想的榜单还真是困难.以前也整理过Intellij的快捷键,这次就按 ...