linux下wget使用命令解析大全

名称

wget - 非交互式网络下载工具

总览

wget [选项]… [URL]…

描述

GNU Wget是一个用于在Web上下载文件的非交互式免费工具,支持HTTP,HTTPS和FTP协议,以及HTTP代理的方式。 Wget是非交互的,也意味着它可以在后台运行,而不用用户保持登录状态,不像用网络浏览器那样。

选项

启动:

-V, --version 显示 Wget 的版本并且退出。

-h, --help 打印帮助选项。

-b, -background 启动后进入后台操作。

-e, -execute=COMMAND 运行‘.wgetrc’形式的命令,.wgetrc是用户使用wget的一个初始化配置命令参数的文件。

日志记录及输入文件:

-o, --output-file=文件 将日志消息写入到指定文件中(如果指定文件之前有内容,则会被清空)。

-a, --append-output=文件 将日志消息追加到指定文件的末端(如果指定文件之前有内容,不会被清空)。

-d, --debug 打印调试输出(如果没有调试信息输出,则说明此命令安装时没有编译支持debug模式)。

-q, --quiet 安静模式(不输出信息)。

-v, --verbose 详细输出模式(默认)。

-nv, --non-verbose 关闭详细输出模式,但不进入安静模式。

-i, --input-file=文件 下载从指定文件中找到的 URL;如果同时指定命令行和文件,则先读取命令行再读取文件;--force-html这个参数如果没被指定,则文件中的URL一行一个。

-F, --force-html 以 HTML 方式处理输入文件;可以让你从HTML文件中读取链接URL,但是得添加 "<base href=" url ">" 到HTML文件里面,或者使用--base=URL的方式来设置基本URL。

-B, --base=URL 使用 -F -i 文件选项时,在相对链接前添加指定的 URL,这样可以处理那些相对路径的url;比如说设置--base=‘http://foo/bar/a.html‘,则在HTML文件里面遇到‘../baz/b.html‘这种情况的时候,它将会被解析成 ‘http://foo/baz/b.html‘。

下载:

--bind-address=ip地址 使用本机的指定地址 (主机名称或 IP) 进行连接。(一般用在多ip的情况下)

-t, --tries=次数 配置重试次数(0 表示无限,默认重试20次,当遇到connection refused或者"not found" (404)时不再重试)。

--retry-connrefused 即使拒绝连接也重试。

-O --output-document=文件 将数据写入此文件中。

-nc, --no-clobber 比如说重复下载一个链接到本地,此选项代表不更改已经存在的文件,也不会使用在文件名后添加 .#(# 为数字)的方法写入新的文件。

-c, --continue 继续接收已下载了一部分的文件。

--progress=方式 选择下载进度条的表示方式。

-N, --timestamping 除非远程文件较新,否则不再取回。

-S, --server-response 显示HTTP或者FTP服务器头部回应消息。

--spider 不下载任何数据,此项作用行为像网络蜘蛛一样。

-T, --timeout=秒数 配置读取数据的超时时间 (秒数)。

-w, --wait=秒数 设置接收不同文件之间等待的秒数,推荐使用,可以减轻服务器的负载。

--waitretry=秒数 在失败下载后每次重试之间稍等一段时间 (由 1 秒至指定的 秒数不等)。

--random-wait 接收不同文件之间稍等一段时间(由 0 秒至 2*WAIT 秒不等)。

-Q, --quota=大小 配置接收数据的限额大小,这种限额限制对单个文件是没有影响的,比如说wget -Q10k ftp://wuarchive.wustl.edu/ls-lR.gz,那么无论 ls-lR.gz多大,都会被完全下载下来;一般用在递归下载或者从指定文件中下载。

--limit-rate=速率 限制下载的速率。

--dns-cache=off 禁止查找存于高速缓存中的 DNS。

--restrict-file-names=值 限制文件名中的字符为指定的 OS (操作系统) 所允许的字符,可被接收的值为unix, windows, nocontrol, ascii, lowercase, uppercase。

--user=用户名

--password=密码  为访问FTP或者HTTP指定用户名和密码,在访问FTP的情况下,可以被--ftp-user 和 --ftp-password选项覆盖,在访问HTTP的情况下,可以被--http-user 和 --http-password的选项覆盖

-4, --inet4-only 只支持IPV4

-6, --inet6-only 只支持IPV6

--no-iri 关闭internationalized URI ( IRI )的支持,--iri是打开internationalized URI ( IRI )的支持,默认是打开的

目录:

-nd --no-directories 不创建目录层次,当遇到递归下载的时候,所有的文件都保存在当前目录下。

-x, --force-directories 强制创建目录层次,即使有的不应该被创建,比如 wget -x http://fly.srk.fer.hr/robots.txt,将会被保存下载到fly.srk.fer.hr/robots.txt。

-nH, --no-host-directories 不创建含有远程主机名称的目录,比如说wget -r http://fly.srk.fer.hr/,将会创建一个目录以fly.srk.fer.hr/开始的目录,使用此选项则取消这种实现。

--protocol-directories 使用此选项wget -r http://host --protocol-directories,则在本地创建 http/host/这样的目录类型。

-P, --directory-prefix=名称 保存文件前先创建指定名称的目录。

--cut-dirs=数目 忽略远程目录中指定数目的目录层。

例子:

No options        -> ftp.xemacs.org/pub/xemacs/

-nH               -> pub/xemacs/

-nH --cut-dirs=1  -> xemacs/

-nH --cut-dirs=2  -> .

--cut-dirs=1      -> ftp.xemacs.org/xemacs/

HTTP 选项:

--default-page=文件名 选择一个做为默认的文件名,当遇到/结尾的时候,来设置保存数据到本地文件名。

-E --adjust-extension 这种选项可以在下载http://site.com/article.cgi?25这类URL是,下载到本地文件名变成article.cgi?25.html,wget 1.2版本之前为--html-extension(将所有 MIME 类型为 text/html 的文件都加上 .html 扩展文件名。)

--http-user=用户 配置 http 用户名。

--http-passwd=密码 配置 http 用户密码。

--no-http-keep-alive 禁用 HTTP keep-alive(持久性连接)。

--no-cache  禁用服务端缓存,这种情况下wget会在下载文件时发送Pragma: no-cache这样的指令给服务端

--no-cookies  禁用cookies机制

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

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

--ignore-length 忽略“Content-Length”文件头字段。

--header=字符串 在文件头中添加指定字符串。

比如:wget --header=‘Accept-Charset: iso-8859-2‘ \

--header=‘Accept-Language: hr‘        \

http://fly.srk.fer.hr/

--max-redirect=数字 最大重定向的次数,默认20

--proxy-user=用户 配置代理服务器用户名。

--proxy-passwd=密码 配置代理服务器用户密码。

--referer=URL 在 HTTP 请求中包含“Referer:URL”头。

-s, --save-headers 将 HTTP 头存入文件。

-U, --user-agent=AGENT-string 标志为 AGENT 而不是 Wget/VERSION。

--post-data=string  添加post提交内容信息

例子:

# Log in to the server.  This can be done only once.

wget --save-cookies cookies.txt \

--post-data ‘user=foo&password=bar‘ \

http://server.com/auth.php

# Now grab the page or pages we care about.

wget --load-cookies cookies.txt \

-p http://server.com/interesting/article.php

这种情况下,如果服务器使用会话cookie来追踪用户认证信息,上面的例子是不起作用的,因为--save-cookies不会保持会话cookie的,所以cookie.txt将会是个空文件,如果想要保存会话cookie到文件的话,需要结合--keep-session-cookies一起使用。

--post-file=文件名  从文件中载入要post提交的内容信息

HTTPS (SSL) 选项:

--secure-protocol==值 选择 SSL 协议; 有效值为auto, SSLv2, SSLv3, TLSv1

--no-check-certificate  不检查服务器端证书

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

--certificate-type=类型  指定客户端证书的类型,有效类型为 PEM(默认)或者 DER(也被称做ASN1)

--private-key=文件  从文件中读取私钥内容

--private-key-type=类型  设置私钥的类型,有效类型为PEM(默认)或者 DER

--ca-certificate=文件  以此文件做为捆绑认证中心(ca)的文件,类型必须为PEM,如果没有这个选项,wget会在系统指定的位置去找CA,这个位置在安装OpenSSL的时候就已经设定了

--ca-directory=目录位置   指定存在PEM格式的ca认证目录位置,如果存在多个ca认证时,使用--ca-directory要比--ca-certificate更有效率

--random-file=文件  选择此文件做为随机数据源来产生伪随机数

--egd-file=文件  EGD socket 文件名。EGD=Entropy Gathering Daemon

FTP 选项:

--ftp-user=user

--ftp-password=password  连接ftp服务器的用户名和密码

--no-remove-listing  在Wget方不删除“.listing”文件,这个文件包含从ftp服务器接收的源目录列表信息。

--no-glob 设置关闭识别有通配符的文件名。默认是打开的

--no-passive-ftp 不使用“被动”传输模式。默认是使用被动模式的

--retr-symlinks 在递归模式中,下载链接所指示的文件(连至目录则例外)。

递归下载:

-r, --recursive 递归下载。

-l, --level=数字 最大递归深度(inf 或 0 表示无限)。

--delete-after 告诉wget删除本地的每个下载完成的单个文件。

-k, --convert-links 将绝对链接转换为相对链接。

-K, --backup-converted 转换文件 X 前先将其备份为 X.orig。

-m, --mirror 等效于 -r -N -l inf --no-remove-listing 的选项。

-p, --page-requisites 下载所有显示完整网页所需的文件,例如图像。

--strict-comments 打开对 HTML 备注的严格(SGML)处理选项。

递归下载时有关接受/拒绝的选项:

-A, --accept=列表 接受的文件样式列表,以逗号分隔。

-R, --reject=列表 排除的文件样式列表,以逗号分隔。

-D, --domains=列表 接受的域列表,以逗号分隔。

--exclude-domains=列表 排除的域列表,以逗号分隔。

--follow-ftp 跟随 HTML 文件中的 FTP 链接。

--follow-tags=列表 要跟随的 HTML 标记,以逗号分隔。

--ignore-tags=列表 要忽略的 HTML 标记,以逗号分隔。

--ignore-case  忽略大小写

-H, --span-hosts 递归时可进入其它主机。

-L, --relative 只跟随相对链接。

-I, --include-directories=列表 要下载的目录列表。

-X, --exclude-directories=列表 要排除的目录列表。

-np, --no-parent 不搜索上层目录。

退出状态:

0  没有问题

1  通用错误代码

2  解析错误

3  文件I/O错误

4  网络失败

5  SSL认证失败

6  用户名或密码认证错误

7  协议错误

8  服务器端产生一个错误回应

相关文件:

/etc/wgetrc  默认wget全局配置初始化文件

.wgetrc  用户初始化文件

时间: 2024-10-13 12:48:04

linux下wget使用命令解析大全的相关文章

linux下SVN CVS命令大全

1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn: // 192.168. 1.1 / pro / domain 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add * .php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m “LogMessage“[-N]

linux下修改rm命令防止误删除

前言:相信很多朋友都遇到过在linux下用rm命令误删除文件的时候,此刻的心中仿佛有无数的羊驼在奔腾.那么怎么防止这种情况发生呢?当然是有方法的,我们可以写一个shell脚本,改变一下rm命令的作用. 第一步: 先在home目录下创建一个叫username名字的目录(当然名字可以自定义),具体命令为:sudo mkdir username(自定义的名字) 这时候记得要用命令:sudo chmod 777 username(自定义的名字)来改变一下你的目录权限,因为在home目录下刚创建的目录是没

Linux下使用ps命令来查看Oracle相关的进程

Linux下可以使用ps命令来查看Oracle相关的进程 Oracle Listener 这个命令会列出Oracle Net Listener的进程 [[email protected] www.linuxidc.com ~]$ ps -ef | grep tnslsnr oracle    1999 29986  0 09:47 pts/2    00:00:00 grep tnslsnr oracle    3647     1  0 Jul03 ?        00:00:34 /u01

linux下的shell命令的编写,以及java如何调用linux的shell命令(java如何获取linux上的网卡的ip信息)

程序员都很懒,你懂的! 最近在开发中,需要用到服务器的ip和mac信息.但是服务器是架设在linux系统上的,对于多网口,在获取ip时就产生了很大的问题.下面是在windows系统上,java获取本地ip的方法.贴代码: package com.herman.test; import java.net.InetAddress; /** * @see 获取计算机ip * @author Herman.Xiong * @date 2014年5月16日 09:35:38 */ public class

Linux下使用crontab命令以及Python脚本实现自动签到

关于这一部分, 我首先介绍下如何实现使用Python脚本实现签到功能其实,linux下有个命令叫做curl,完全可以完成模拟签到的功能,但是为了练习Python,我就用Python来写了.有这个想法完全是因为实验室的学长开发了一款App,上边收个起床签到,还有排名,为了能那个首签... 言归正传 首先,因为是手机上的App, 所以,我们需要抓包看下它具体的URL以及发送的内容是什么,关于这部分内容我就不在赘述了,我实现的功能主要有模拟发布状态和模拟签到两种功能,两个的URL也是不同的.为了不让学

Linux下常用SVN命令

1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain  --username qinxiaohui 简写:svn co 2.往版本库中添加新的文件 svn add file 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 3.将改动的文件提交到版本库 svn commit -m "L

Linux下内存查看命令

在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们一般用free命令: $ free             total       used       free     shared    buffers     cachedMem:       3266180    3250004      16176          0     1106

[转] 关于linux下通过shell命令(自动)修改用户密码

关于linux下通过shell命令(自动)修改用户密码 2012-04-23 18:47:39 分类: 原文地址:关于linux下(自动)修改用户密码 作者:ubuntuer 本文章总结了如何手动.自动修改本地用户密码及远程机器的用户密码.对做自动化测试提供了自动修改用户密码的原理及方法. 修改本地用户密码:1.交互配置本地用户:以root用户: passwd <username>Changing password for user dewang.New UNIX password: BAD

[转载]linux下使用tar命令

转自:http://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.html linux下使用tar命令 解压语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项: c 创建新的档案文件.如果用户想备份一个目录或是一些文件,就要选择这个选项.相当于打包. x 从档案文件中释放文件.相当于拆包. t 列出档案文件的内容,查看已经备份了哪些文件. 特别注意