zoukankan      html  css  js  c++  java
  • Linux命令行下载工具

    目录
    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/


  • 相关阅读:
    51 Nod 1068 Bash游戏v3
    51 Nod Bash 游戏v2
    51 Nod 1073 约瑟夫环
    UVA 12063 Zeros and ones 一道需要好好体会的好题
    51 Nod 1161 Partial sums
    2018中国大学生程序设计竞赛
    UVA 11971 Polygon
    UVA 10900 So do you want to be a 2^n-aire?
    UVA 11346 Possibility
    python with as 的用法
  • 原文地址:https://www.cnblogs.com/sztom/p/10765319.html
Copyright © 2011-2022 走看看