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/


  • 相关阅读:
    ABP框架应用-MySQL数据库集成
    redis初识
    MySQL高级学习笔记
    Linux安装apache
    学习jvm(一)--java内存区域
    HashTable、HashMap与ConCurrentHashMap源码解读
    Linux安装禅道项目管理软件
    设计模式之六大原则
    设计模式之策略模式
    设计模式之分类
  • 原文地址:https://www.cnblogs.com/sztom/p/10765319.html
Copyright © 2011-2022 走看看