wget

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

1、wget下载单个文件

#wget http://domain/file

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

  1. root@kali:~# wget https://curl.haxx.se/download/curl-7.54.1.zip
  2. ---- ::-- https://curl.haxx.se/download/curl-7.54.1.zip
  3. 正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.74.49
  4. 正在连接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:... 已连接。
  5. 已发出 HTTP 请求,正在等待回应... OK
  6. 长度: (4.9M) [application/zip]
  7. 正在保存至: curl-7.54..zip
  8.  
  9. curl-7.54..zip %[===========> ] .25K .7KB/s eta 2m 8s ^

2、指定保存的名称

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

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

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

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

  1. 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
  2. []
  3. []
  4. []
  5. []
  6. []
  7. root@kali:~# ---- ::-- http://xiazai.zol.com.cn/down.php?softid=442597
  8. 正在解析主机 xiazai.zol.com.cn (xiazai.zol.com.cn)... 123.103.57.124
  9. 正在连接 xiazai.zol.com.cn (xiazai.zol.com.cn)|123.103.57.124|:... 已连接。
  10. 已发出 HTTP 请求,正在等待回应... OK
  11. 长度: [text/html]
  12. 正在保存至: testName
  13.  
  14. testName [ <=> ] --.-KB/s in 0s

3、断点续传

#wget -c http://domain/file

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

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

4、指定下载速度

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

表示限制速度为1MB/s

  1. root@kali:~# wget --limit-rate=1024k https://curl.haxx.se/download/curl-7.54.1.zip
  2. ---- ::-- https://curl.haxx.se/download/curl-7.54.1.zip
  3. 正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.74.49
  4. 正在连接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:... 已连接。
  5. 已发出 HTTP 请求,正在等待回应... OK
  6. 长度: (4.9M) [application/zip]
  7. 正在保存至: curl-7.54..zip.”
  8.  
  9. curl-7.54..zip. %[==========> ] .33K .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文件

  1. root@kali:~# wget -b https://curl.haxx.se/download/curl-7.54.1.zip
  2. 继续在后台运行,pid
  3. 将把输出写入至 wget-log”。
  1. root@kali:~# cat wget-log
  2. ---- ::-- https://curl.haxx.se/download/curl-7.54.1.zip
  3. 正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.74.49
  4. 正在连接 curl.haxx.se (curl.haxx.se)|151.101.74.49|:... 已连接。
  5. 已发出 HTTP 请求,正在等待回应... OK
  6. 长度: (4.9M) [application/zip]
  7. 正在保存至: curl-7.54..zip.”
  8.  
  9. 0K .......... .......... .......... .......... .......... % .9K 67s
  10. 50K .......... .......... .......... .......... .......... % .6K 61s
  11. 100K .......... .......... .......... .......... .......... % .8K 73s

8、利用代理服务器下载

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

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

  1. export http_proxy=0.0.0.0:

方法二、使用配置文件

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

  1. https-proxy = 0.0.0.0: //https代理服务器
  2. http-proxy = 0.0.0.0: //http代理服务器
  3. ftp-proxy = 0.0.0.0: //ftp代理服务器
    use_proxy = on  //开启代理

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

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

方法三、使用-e参数

适用于临时代理

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

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

  1. --proxy-user=代理用户
  2. --proxy-passwd=代理密码

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

#wget --spider DOWNLOAD-URL

正确的下载地址会显示

  1. root@kali:~# wget --spider https://curl.haxx.se/download/curl-7.54.1.zip
  2. 打开 Spider 模式。检查是否存在远程文件。
  3. ---- ::-- https://curl.haxx.se/download/curl-7.54.1.zip
  4. 正在解析主机 curl.haxx.se (curl.haxx.se)... 151.101.78.49
  5. 正在连接 curl.haxx.se (curl.haxx.se)|151.101.78.49|:... 已连接。
  6. 已发出 HTTP 请求,正在等待回应... OK
  7. 长度: (4.9M) [application/zip]
  8. 存在远程文件。

无效的下载地址会显示

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

10、FTP下载

匿名FTP

  1. wget ftp-url

需登陆认证的FTP

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

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

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

12、下载一个完整的网站

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

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

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

待更新。。。

wget常用下载命令的更多相关文章

  1. Linux命令之远程下载命令:wget

    转自:http://www.cnblogs.com/peida/archive/2013/03/18/2965369.html Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Li ...

  2. wget介绍和命令总结

    参考资料: https://www.cnblogs.com/ftl1012/p/9265699.html https://www.cnblogs.com/lsdb/p/7171779.html cur ...

  3. Linux网络下载命令 wget 简介

    wget 是一个命令行的下载工具.对于我们这些 Linux 用户来说,几乎每天都在使用它.下面为大家介绍几个有用的 wget 小技巧,可以让你更加高效而灵活的使用 wget. $ wget -r -n ...

  4. 【linux】下载命令lftp\sftp\wget

    sftp sftp(安全文件传输协议)与ftp 有着几乎一样的语法和功能.FTP 为 SSH的一部份,是一种传输档案至 Blogger 伺服器的安全方式.它并不使用ftp守护进程(ftpd或wu-ft ...

  5. ubuntu 中wget (下载)命令用法

    Linux wget是一个下载文件的工具,它用在命令行下. 对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到本地服务器 1.使用wget下载单个文件 ...

  6. 安装Docker和下载images镜像和常用Docker命令

    我的是centos7,也会6的方法: $sudo yum install docker 直接yum安装contos7使用centos6.5先获取epel源并 启动Docker,并注册开机服务 [roo ...

  7. linux下常用FTP命令 上传下载文件【转】

    1. 连接ftp服务器 格式:ftp [hostname| ip-address]a)在linux命令行下输入: ftp 192.168.1.1 b)服务器询问你用户名和密码,分别输入用户名和相应密码 ...

  8. Aria2 Axel wget curl 四个下载命令

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

  9. linux下载命令wget

    Linux wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,尤其对于网络管理员,经常要下载一些软件或从远程服务器恢复备份到 本地服务器.如果我们使用虚拟主机,处理这样 ...

随机推荐

  1. 一般处理程序ashx

    在用户列表中链接数据库 在这里Html只管做Post 请求,其他逻辑全部交给ashx 其中修改需要隐藏域 1.展现列表 public void ProcessRequest (HttpContext ...

  2. Filter过滤器,xml配置与页面不乱码整理

    1.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...

  3. iOS中UIWebview中网页宽度自适应的问题

    有的网页中会使用"<meta name="viewport" content="width=device-width, initial-scale=1.0 ...

  4. 一位学长的学习建议(java方向)

    1.前台总得有个拿的出手的页面能力吧,ajax,jquery不说精通但是至少能看懂,能根据业务需求来改吧. 2.数据库方面至少得玩过mysql,DB2,Oracle中的两个以上吧.hibernate或 ...

  5. JFinal常量配置学习笔记

    在继承 JFinalConfig 类时,需要 实现 /** * Config constant */ public abstract void configConstant(Constants me) ...

  6. 如何在Ubuntu server中修改IP

    详细请移步至博客https://blog.csdn.net/shenzhen_zsw/article/details/74025066 方法一. sudo  ifconfig eth0 100.100 ...

  7. TP5.0:同一个控制器访问不同方法

    首先,我把TP框架的内容放置在manualtp5文件夹 在manualtp5/application/index/controller/index控制器中定义两个方法: 我们都知道,如果我们网址中不输 ...

  8. Google Guava入门(一)

    Guava作为Java编程的助手,可以提升开发效率,对Guava设计思想的学习则极大的有益于今后的编程之路.故在此对<Getting Started with Google Guava>一 ...

  9. [Rodbourn's Blog]How to export Excel plots to a vector image (EPS, EMF, SVG, etc.)

    This is a bit of a workaround, but it's the only way I know of to export an Excel plot into a vector ...

  10. iptables (1) 原理

    网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能有所帮助. iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防 ...