日期:2014-05-16  浏览次数:20834 次

Linux中一个支持HTTP和FTP下载的命令wget详解

Wget???? Wget是一个十分常用命令行下载工具,多数Linux发行版本都默认包含这个工具。如果没有安装可在http://www.gnu.org/software/wget/wget.html下载最新版本,并使用如下命令编译安装:
??? #tar zxvf wget-1.9.1.tar.gz
??? #cd wget-1.9.1

??? #./configure
??? #make

??? #make install
它的用法很简单,Wget使用格式如下:

?#wget [选项] [下载地址]

1.Wget常用参数

◆-b:后台下载,Wget默认的是把文件下载到当前目录。

?◆-O:将文件下载到指定的目录中。

◆-P:保存文件之前先创建指定名称的目录。

◆-t:尝试连接次数,当Wget无法与服务器建立连接时,尝试连接多少次。

◆-c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。????

?除了上述常用功能,Wget还支持HTTP和FTP代理功能,编辑其配置文件“/etc/wgetrc”即可。具体方法是使用VI编辑器打开上述文件,将 “http_proxy”和“ftp_proxoy”前的#去掉,然后在这两项后输入相应的代理服务器的地址,保存退出即可。此外,Wget还可下载整个网站,如下载http://man.chinaunix.net整个Man手册中心。只需输入如下命令即可: #wget -r -p -np -k http://man.chinaunix.net 其中-r参数是指使用递归下载,-p是指下载所有显示完整网页所以需要的文件,如图片等,-np是指不搜索上层目录,-k则是指将绝对链接转换为相对链接。

  • ?

    $ wget -r -np -nd http://example.com/packages/

    ?

?

这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,

-np

的作用是不遍历父目录,

-nd

表示不在本机重新创建目录结构。

  • ?

    $ wget -r -np -nd --accept=iso http://example.com/centos-5/i386/

    ?

?

与上一条命令相似,但多加了一个

--accept=iso

选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。

  • ?

    $ wget -i filename.txt

    ?

?

此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。

  • ?

    $ wget -c http://example.com/really-big-file.iso

    ?

?

这里所指定的

-c

选项的作用为断点续传。

  • ?

    $ wget -m -k (-H) http://www.example.com/

    ?

?

该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用

-H

选项。

????? ? --cookies=off 禁用 cookie。

?

  --load-cookies=文件 会话开始前由指定文件载入 cookie。

  --save-cookies=文? 件 会话结束后将 cookie 保存至指定文件。

  --post-data=字符串 使用 POST 方法,发送指定字符串。

  --post-file=文件 使用 POST 方法,发送指定文件中的内容。

  HTTPS (SSL) 选项:

  --sslcertfile=文件 可选的客户段端证书。

  --sslcertkey=密钥文件 对此证书可选的“密钥文件”。

  --egd-file=文件 EGD socket 文件名。

  --sslcadir=目录 CA 散列表所在的目录。

  --sslcafile=文件 包含 CA 的文件。

  --sslcerttype=0/1 Client-Cert 类型 0=PEM (默认) / 1=ASN1 (DER)

  --sslcheckcert=0/1 根据提供的 CA 检查服务器的证书

  --sslprotocol=0-3 选择 SSL 协议;0=自动选择,

  1=SSLv2 2=SSLv3 3=TLSv1

  FTP 选项:

  -nr, --dont-remove-listing 不删除“.listing”文件。

  -g, --glob=on/off 设置是否展开有通配符的文