• wget常用下载命令


    wget

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理。wget名称的由来是“World Wide Web”与“get”的结合。

    1、wget下载单个文件

    #wget http://domain/file

    下载的时候会显示:文件的大小保存的名称进度条下载速度时间

    root@kali:~# wget https://curl.haxx.se/download/curl-7.54.1.zip
    --2017-07-09 03:26:46--  https://curl.haxx.se/download/curl-7.54.1.zip
    正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.74.49
    正在连接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:5189701 (4.9M) [application/zip]
    正在保存至: “curl-7.54.1.zip”
    
    curl-7.54.1.zip                                  12%[===========>                                                                                         ] 639.25K  30.7KB/s    eta 2m 8s  ^

    2、指定保存的名称

    #wget -O newName http://domain/file

    默认情况wget会用斜杠‘/’后面的字符来命名保存的名称

    root@kali:~# wget http://xiazai.zol.com.cn/down.php?softid=442597&subcateid=1446&site=10&checkStr=066ab9d88b1f0c534&pos=downloader_main&rand=1200a2
    正在保存至: “down.php?softid=442597 

    显然这种特殊格式下载地址得出的命名不是我们想要的,即可用-O参数来自定义命名

    root@kali:~# wget -O testName http://xiazai.zol.com.cn/down.php?softid=442597&subcateid=1446&site=10&checkStr=066ab9d88b1f0c534&pos=downloader_main&rand=1200a2
    [1] 6613
    [2] 6614
    [3] 6615
    [4] 6616
    [5] 6617
    root@kali:~# --2017-07-09 03:36:20--  http://xiazai.zol.com.cn/down.php?softid=442597
    正在解析主机 xiazai.zol.com.cn (xiazai.zol.com.cn)... 123.103.57.124
    正在连接 xiazai.zol.com.cn (xiazai.zol.com.cn)|123.103.57.124|:80... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:0 [text/html]
    正在保存至: “testName”
    
    testName                                            [ <=>                                                                                                 ]       0  --.-KB/s    in 0s      

    3、断点续传

    #wget -c http://domain/file

    适用于下载大文件或者网络不好的情况,需要服务器支持断点续传

    不停重连,直到连接成功
    root@kali:~# wget -c https://curl.haxx.se/download/curl-7.54.1.zip
    
    -t参数表示重连次数,表示只重连10次,-t为0时不限制
    root@kali:~# wget -c -t 10 https://curl.haxx.se/download/curl-7.54.1.zip
    
    -T参数表示超时等待时间,以秒为单位,表示60秒连不上超时
    root@kali:~# wget -c -T 60 https://curl.haxx.se/download/curl-7.54.1.zip

    4、指定下载速度

    #wget --limit-rate=1024k http://domain/file

    表示限制速度为1MB/s

    root@kali:~# wget --limit-rate=1024k https://curl.haxx.se/download/curl-7.54.1.zip
    --2017-07-09 04:05:49--  https://curl.haxx.se/download/curl-7.54.1.zip
    正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.74.49
    正在连接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:5189701 (4.9M) [application/zip]
    正在保存至: “curl-7.54.1.zip.1”
    
    curl-7.54.1.zip.1                                11%[==========>                                                                                          ] 599.33K  1021.3KB/s    eta 54s    ^

    5、批量下载

    #wget -i download.txt

    多个下载链接可以分行写在文本中,实现批量下载

    6、选择性下载

    #wget -m --accept=jpg http://domain/dir  //--accept参数表示可以接受的文件类型

    #wget -m --reject=jpg http://domain/dir  //--reject参数表示拒绝接受的文件类型

    或者

    #wget -r -A.jpg http://domain/dir  //表示下载所有jpg文件

    7、后台下载

    #wget -b http://domain/file

    后台下载时,会在当前目录中产生wget-log文件

    root@kali:~# wget -b https://curl.haxx.se/download/curl-7.54.1.zip
    继续在后台运行,pid 为 6705。
    将把输出写入至 “wget-log”。
    root@kali:~# cat wget-log 
    --2017-07-09 04:24:31--  https://curl.haxx.se/download/curl-7.54.1.zip
    正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.74.49
    正在连接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:5189701 (4.9M) [application/zip]
    正在保存至: “curl-7.54.1.zip.4”
    
         0K .......... .......... .......... .......... ..........  0% 74.9K 67s
        50K .......... .......... .......... .......... ..........  1% 88.6K 61s
       100K .......... .......... .......... .......... ..........  2% 49.8K 73s

    8、利用代理服务器下载

    如果下载需要经过代理服务器,wget可以通过代理服务器进行下载。

    方法一、在环境变量中设置代理

    export http_proxy=0.0.0.0:8080

    方法二、使用配置文件

    可以直接修改/etc/wgetrc,也可以当前目录下创建.wgetrc文件,配置代理服务器

    https-proxy = 0.0.0.0:8080     //https代理服务器
    http-proxy = 0.0.0.0:8080     //http代理服务器
    ftp-proxy = 0.0.0.0:8080    //ftp代理服务器
    use_proxy = on  //开启代理

    这里 use_proxy = on 开启了代理,如果不想使用代理,每次都修改此文件太麻烦,我们可以在命令中使用-Y参数来临时设置:

    -Y, --proxy=on/off           打开或关闭代理

    方法三、使用-e参数

    适用于临时代理

    -e参数表示运行一个“.wgetrc”风格的命令
    #wget -e "http-proxy=0.0.0.0:8080" http://domain/file

    注意:如果代理服务器需要密码则使用

    --proxy-user=代理用户 
    --proxy-passwd=代理密码

    9、测试下载地址是否有效

    #wget --spider DOWNLOAD-URL

    正确的下载地址会显示

    root@kali:~# wget --spider https://curl.haxx.se/download/curl-7.54.1.zip
    打开 Spider 模式。检查是否存在远程文件。
    --2017-07-09 04:53:33--  https://curl.haxx.se/download/curl-7.54.1.zip
    正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.78.49
    正在连接 curl.haxx.se (curl.haxx.se)|151.101.78.49|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 200 OK
    长度:5189701 (4.9M) [application/zip]
    存在远程文件。

    无效的下载地址会显示

    root@kali:~# wget --spider https://curl.haxx.se/download/xxx.zip
    打开 Spider 模式。检查是否存在远程文件。
    --2017-07-09 04:53:45--  https://curl.haxx.se/download/xxx.zip
    正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.78.49
    正在连接 curl.haxx.se (curl.haxx.se)|151.101.78.49|:443... 已连接。
    已发出 HTTP 请求,正在等待回应... 404 Not Found
    远程文件不存在 -- 链接失效!!!

    10、FTP下载

    匿名FTP

    wget ftp-url

    需登陆认证的FTP

    wget --ftp-user=USERNAME --ftp-password=PASSWORD DOWNLOAD-URL

    11、针对提示没有认证不允许下载

    wget --no-check-certificate DOWNLOAD-URL  //不要验证服务器的证书。

    12、下载一个完整的网站

    适用于完整下载一个网站用于本地浏览

    wget --mirror -p --convert-links -P LOCAL-DIR WEBSITE-URL


    --mirror:打开镜像选项
    -p:下载所有用于显示给定网址所必须的文件
    --convert-links:下载以后,转换链接用于本地显示
    -P LOCAL_DIR:保存所有的文件或目录到指定的目录下

    待更新。。。

  • 相关阅读:
    【SSH网上商城项目实战15】线程、定时器同步首页数据(类似于CSDN博客定期更新排名)
    【SSH网上商城项目实战14】商城首页UI的设计
    Spring工具类:WebApplicationContextUtils
    多线程技术: 两个线程交替打印奇数和偶数
    常见的几种异常类型Exception
    【SSH网上商城项目实战13】Struts2实现文件上传功能
    【SSH网上商城项目实战12】添加和更新商品功能的实现
    【SSH网上商城项目实战11】查询和删除商品功能的实现
    【SSH网上商城项目实战10】商品类基本模块的搭建
    如何防止通过IP地址访问Tomcat管理页面
  • 原文地址:https://www.cnblogs.com/captainRoB/p/7189448.html
Copyright © 2020-2023  润新知