wget是Unix下一个非常好的下载工具,它能够支持断点续传,站点镜像等功能。目前,wget也推出了Windows平台的版本。
Wget启动时读取系统配置文件(/etc/wgetrc)和用户配置文件(~/.wgetrc),例如,添加代理服务器设置:
http_proxy=http://10.12.64.1:3128 ftp_proxy=http://10.12.64.1:3128
配置文件会覆盖系统环境变量中的代理服务器设置,如果代理服务器需要用户认证,添加以下参数:
--proxy-user=USER --proxy-passwd=PASS
Wget 支持下载断点续传功能,下载文件时添加 '-c' 参数,如下所示:
wget -c http://mydomain.com/dir/file_name
只扩展相对路径,对于只下载站点中的子目录非常有效,可以避免向整个主机的其他目录扩散。例如:
wget -L http://www.xys.org/~ppfl/
指定 wget 接受的文件扩展名,多个名称之间用逗号隔开。例如,只接受图片文件:
wget -A jpeg,jpg,gif
如果我们已经在一个HTML文档(或普通文本文档)中存储了所要下载的URL地址,可以让 wget 直接从该文件中提取下载地址,如下所示:
wget -i download.txt
Wget 还不支持真正的多线程,但是如果你要下载多个文件时,'-b' 参数可以同时启动多个进程。
for x in `cat urlist` do wget -b $x done
递归下载目录以及子目录下的所有文件,'-l' 参数设置递归级数,如下所示:
wget -b -r -l1 http://mydomain.com/incoming/
镜像站点使用 '-m' 参数,实际上相当于 '-r -N -l inf –no-remove-listing',如下所示:
wget -m -np http://mydomain.com/incoming/
如果不希望下载图片和压缩文件等,排除指定扩展名的文件,如下所示:
wget -m -np --R=gif,jpeg,jpg,zip,gz,bz2,exe http://mydomain.com/incoming/
Wget 支持需要密码认证的FTP服务器,如下所示:
wget ftp://username:password@mydomain.com/dir/file_name
下载FTP时,也支持递归目录,如下所示:
wget -r ftp://username:password@mydomain.com/dir/file_name
Wget支持HTTP认证,如下所示:
wget --no-check-certificate https://user:passwd@mydomain.com/dir/file_name
下载大文件时,一般使用 nohup wget 命令方式下载。但是如果要暂停下载该怎么办呢?
暂停进程:
$ killall -SIGTSTP wget (相当于^Z) 或 $ killall -SIGSTOP wget
恢复进程
$ killall -SIGCONT wget
当然也可以直接杀掉进程,然后再重新启动下载(续传)。但是如果进程是别人启的,或则忘记链接,就只能使用上面的方式啦。
当网络状态非常不好时,如果要在客户端启动 wget 来下载文件,Telnet 和 SSH 方式经常会中断,解决的方法是在客户端启动后台进程方式下载文件。
wget -b -c -t 0 --retry-connrefused http://mydomain.com/dir/file_name
Comments
There are currently no comments
New Comment