[转]wget命令详解,断点续传

本文详细介绍了wget命令的使用方法,包括如何下载整个站点、断点续传、批量下载、选择性下载等高级功能,并讲解了如何处理需要认证的网站及如何通过代理服务器下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wget 是一个基于命令行的网络下载工具,具有以下特性:

(1)支持断点下传功能
(2)同时支持FTP和HTTP下载方式
(3)支持代理服务器
(4)设置方便简单
(5)程序小,完全免费
 

wget虽然功能强大,但是使用起来还是比较简单的,基本的语法是:wget [参数列表] URL。下面就结合具体的例子来说明一下wget的用法。

1、下载整个http或者ftp站点。

wget http://place.your.url/here

这个命令可以将http://place.your.url/here 首页下载下来。使用 -x 会强制建立服务器上一模一样的目录,如果使用 -nd 参数,那么服务器上下载的所有内容都会加到本地当前目录, 而不会新建目录

wget -r http://place.your.url/here


这个命令会按照递归的方法,下载服务器上所有的目录和文件,实质就是下载整个网站。这个命令一定要小心使用,因为在下载的时候,被下载网站指向的所有地址同样会被下载,因此,如果这个网站引用了其他网站,那么被引用的网站也会被下载下来!基于这个原因,这个参数不常用。可以用 -l number 参数来指定下载的层次。例如只下载两层,那么使用-l 2。

要是您想制作镜像站点,那么可以使用   -m  参数,例如:wget -m http://place.your.url/here
这时wget会自动判断合适的参数来制作镜像站点。此时,wget会登录到服务器上,读入robots.txt并按robots.txt的规定来执行。

2、断点续传。
当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完,连接就已经被切断,此时就需要断点续传。wget的断点续传是自动的,只需要使用 -c 参数,例如:
wget -c http://the.url.of/incomplete/file


使用断点续传要求服务器支持断点续传。 -t 参数表示重试次数,例如需要重试100次,那么就写-t 100,如果设成-t 0,那么表示无穷次重试,直到连接成功。 -T 参数表示超时等待时间,例如 -T 120,表示等待120秒连接不上就算超时。

3、批量下载。
如果有多个文件需要下载,那么可以生成一个文件,把每个文件的URL写一行,例如生成文件 download.txt,然后用命令:
wget -i download.txt

这样就会把download.txt里面列出的每个URL都下载下来。(如果列的是文件就下载文件,如果列的是网站,那么下载首页)

4、选择性的下载。
可以指定让wget只下载一类文件,或者不下载什么文件。例如:
wget -m –reject=gif http://target.web.site/subdirectory


表示下载http://target.web.site/subdirectory,但是忽略gif文件。 –accept=LIST 可以接受的文件类型, –reject=LIST拒绝接受的文件类型。

5、密码和认证。
wget只能处理利用用户名/密码方式限制访问的网站,可以利用两个参数:
–http-user=USER设置HTTP用户
–http-passwd=PASS设置HTTP密码


对于需要证书做认证的网站,就只能利用其他下载工具了,例如 curl

6、利用代理服务器进行下载。
如果用户的网络需要经过代理服务器,那么可以让wget通过代理服务器进行文件的下载。此时 需要在当前用户的主目录下创建一个.wgetrc文件。文件中可以设置代理服务器:
http-proxy = 111.111.111.111:8080
ftp-proxy = 111.111.111.111:8080

可以通过wget的命令行参数指定代理服务器的用户名和密码: 
–proxy-user=USER设置代理用户
–proxy-passwd=PASS设置代理密码

 
使用参数 –proxy=on/off 使用或者关闭代理。

wget还有很多有用的功能,需要用户去挖掘。

附录:

命令格式:
wget [参数列表] [目标软件、网页的网址]

-V,–version       显示软件版本号然后退出;
-h,–help            显示软件帮助信息;
-e,–execute=COMMAND    作为 “.wgetrc”的形式执行该命令,该命令会在.wgetrc中命令执行完后执行,此选项通常用于覆盖".wgetrc"中的设置。你可以指定多个-e 选项
 
-o, --output-file=FILE            将软件输出信息保存到文件;
-a, --append-output=FILE     将软件输出信息追加到文件;
-d,–debug                          显示输出信息;
-q,–quiet                            不显示输出信息;
-i,–input-file=FILE               从文件中取得URL;

-t --tries=NUMBER                   是否下载次数(0表示无穷次)
-O, --output-document=FILE      下载文件保存为别的文件名
-nc,--no-clobber                      不要覆盖已经存在的文件
-N,–timestamping                    只下载比本地新的文件
-T,–timeout=SECONDS           设置超时时间
-Y,–proxy=on/off                      关闭代理
-w                                            两次尝试之间等待多少秒,比如”-w 100″表示两次尝试 之间等待100秒;

-nd,–no-directories                     不建立目录
-x,–force-directories                   强制建立目录

–http-user=USER                      设置HTTP用户
–http-passwd=PASS                 设置HTTP密码
–proxy-user=USER                   设置代理用户
–proxy-passwd=PASS              设置代理密码

-r, --recursive                            载整个网站、目录(小心使用)
-l,--evel=NUMBER                     下载层次

-A,–accept=LIST                      可以接受的文件类型
-R,–reject=LIST                        拒绝接受的文件类型
-D,–domains=LIST                    可以接受的域名
–exclude-domains=LIST           拒绝的域名
-L,–relative                               下载关联链接
–follow-ftp                                只下载FTP链接
-H,–span-hosts                         可以下载外面的主机
-I,–include-directories=LIST       允许的目录
-X,–exclude-directories=LIST      拒绝的目录

-b         让wget在后台运行,记录文件写在当前目录下”wget-log”文件中;
 
-Q        限制下载文件的总大小,比如”-Q2k”表示不能超过2K 字节,”-Q3m”表示最多不能超过3M字节,如果数字后面什么都不加,就表示是以字节为单 位,比如”-Q200″表示最多不能超过200字节

-nd        不下载目录结构,把从服务器所有指定目录下载的文件都堆到当前目录里;
 -x         与 -nd 设置刚好相反,创建完整的目录结构,例如”wget -nd http://www.gnu.org“将创建在当前目录下创建”www.gnu.org“子目录,然后按照服务器 实际的目录结构一级一级建下去,直到所有的文件都传完为止;
-nH        不创建以目标主机域名为目录名的目录,将目标主机的目录结构直接下到当前目 录下;

-l           下载远程服务器目录结构的深度,例如”-l 5″下载目录深度小于或者等 于5以内的目录结构或者文件
-m          做站点镜像时的选项,如果你想做一个站点的镜像,使用这个选项,它将自动设 定其他合适的选项以便于站点镜像;
-np          下载目标站点指定目录及其子目录的内容。这也是一个非常有用的选项,我们 假设某个人的个人主页里面有一个指向这个站点其他人个人主页的连接,而我们只想下载 这个人的个人主页,如果不设置这个选项,甚至–有可能把整个站点给抓下来, 
 

转载于:https://my.oschina.net/aiguozhe/blog/39269

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值