`

每天一个linux命令(61):wget命令

 
阅读更多

Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。这意味这你可以登录系统,启动一个wget下载任务,然后退出系统,wget将在后台执行直到任务完成,相对于其它大部分浏览器在下载大量数据时需要用户一直的参与,这省去了极大的麻烦。

wget可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget遵循RobotExclusion标准(/robots.txt).wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。

wget非常稳定它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

1.命令格式:

wget[参数][URL地址]

2.命令功能:

用于从网络上下载资源,没有指定目录,下载资源回默认为当前目录wget虽然功能强大,但是使用起来还是比较简单

1)支持断点下传功能;这一点,也是网络蚂蚁和FlashGet当年最大的卖点,现在,Wget也可以使用此功能,那些网络不是太好的用户可以放心了;

2)同时支持FTP和HTTP下载方式;尽管现在大部分软件可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;

3)支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;

4)设置方便简单;可能,习惯图形界面的用户已经不是太习惯命令行了,但是,命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;

5)程序小,完全免费;程序小可以考虑不计,因为现在的硬盘实在太大了;完全免费就不得不考虑了,即使网络上有很多所谓的免费软件,但是,这些软件的广告却不是我们喜欢的

3.命令参数:

启动参数

-V,–version显示wget的版本后退出

-h,–help打印语法帮助

-b,–background启动后转入后台执行

-e,–execute=COMMAND执行`.wgetrc’格式的命令,wgetrc格式参见/etc/wgetrc或~/.wgetrc

记录和输入文件参数

-o,–output-file=FILE把记录写到FILE文件中

-a,–append-output=FILE把记录追加到FILE文件中

-d,–debug打印调试输出

-q,–quiet安静模式(没有输出)

-v,–verbose冗长模式(这是缺省设置)

-nv,–non-verbose关掉冗长模式,但不是安静模式

-i,–input-file=FILE下载在FILE文件中出现的URLs

-F,–force-html把输入文件当作HTML格式文件对待

-B,–base=URL将URL作为在-F-i参数指定的文件中出现的相对链接的前缀

–sslcertfile=FILE可选客户端证书

–sslcertkey=KEYFILE可选客户端证书的KEYFILE

–egd-file=FILE指定EGDsocket的文件名

下载参数

–bind-address=ADDRESS指定本地使用地址(主机名或IP,当本地有多个IP或名字时使用)

-t,–tries=NUMBER设定最大尝试链接次数(0表示无限制).

-O–output-document=FILE把文档写到FILE文件中

-nc,–no-clobber不要覆盖存在的文件或使用.#前缀

-c,–continue接着下载没下载完的文件

–progress=TYPE设定进程条标记

-N,–timestamping不要重新下载文件除非比本地文件新

-S,–server-response打印服务器的回应

–spider不下载任何东西

-T,–timeout=SECONDS设定响应超时的秒数

-w,–wait=SECONDS两次尝试之间间隔SECONDS秒

–waitretry=SECONDS在重新链接之间等待1…SECONDS秒

–random-wait在下载之间等待0…2*WAIT秒

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

-Q,–quota=NUMBER设置下载的容量限制

–limit-rate=RATE限定下载输率

目录参数

-nd–no-directories不创建目录

-x,–force-directories强制创建目录

-nH,–no-host-directories不创建主机目录

-P,–directory-prefix=PREFIX将文件保存到目录PREFIX/…

–cut-dirs=NUMBER忽略NUMBER层远程目录

HTTP选项参数

–http-user=USER设定HTTP用户名为USER.

–http-passwd=PASS设定http密码为PASS

-C,–cache=on/off允许/不允许服务器端的数据缓存(一般情况下允许)

-E,–html-extension将所有text/html文档以.html扩展名保存

–ignore-length忽略`Content-Length’头域

–header=STRING在headers中插入字符串STRING

–proxy-user=USER设定代理的用户名为USER

–proxy-passwd=PASS设定代理的密码为PASS

–referer=URL在HTTP请求中包含`Referer:URL’头

-s,–save-headers保存HTTP头到文件

-U,–user-agent=AGENT设定代理的名称为AGENT而不是Wget/VERSION

–no-http-keep-alive关闭HTTP活动链接(永远链接)

–cookies=off不使用cookies

–load-cookies=FILE在开始会话前从文件FILE中加载cookie

–save-cookies=FILE在会话结束后将cookies保存到FILE文件中

FTP选项参数

-nr,–dont-remove-listing不移走`.listing’文件

-g,–glob=on/off打开或关闭文件名的globbing机制

–passive-ftp使用被动传输模式(缺省值).

–active-ftp使用主动传输模式

–retr-symlinks在递归的时候,将链接指向文件(而不是目录)

递归下载参数

-r,–recursive递归下载--慎用!

-l,–level=NUMBER最大递归深度(inf或0代表无穷)

–delete-after在现在完毕后局部删除文件

-k,–convert-links转换非相对链接为相对链接

-K,–backup-converted在转换文件X之前,将之备份为X.orig

-m,–mirror等价于-r-N-linf-nr

-p,–page-requisites下载显示HTML文件的所有图片

递归下载中的包含和不包含(accept/reject)

-A,–accept=LIST分号分隔的被接受扩展名的列表

-R,–reject=LIST分号分隔的不被接受的扩展名的列表

-D,–domains=LIST分号分隔的被接受域的列表

–exclude-domains=LIST分号分隔的不被接受的域的列表

–follow-ftp跟踪HTML文档中的FTP链接

–follow-tags=LIST分号分隔的被跟踪的HTML标签的列表

-G,–ignore-tags=LIST分号分隔的被忽略的HTML标签的列表

-H,–span-hosts当递归时转到外部主机

-L,–relative仅仅跟踪相对链接

-I,–include-directories=LIST允许目录的列表

-X,–exclude-directories=LIST不被包含目录的列表

-np,–no-parent不要追溯到父目录

wget-S–spiderurl不下载只显示过程

4.使用实例:

实例1:使用wget下载单个文件

命令:

wgethttp://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:

以下的例子是从网络下载一个文件并保存在当前目录在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。

实例2:使用wget-O下载并以不同的文件名保存

命令:

: wget-Owordpress.ziphttp://www.minjieren.com/download.aspx?id=1080

说明:

wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。

错误:下面的例子会下载一个文件并以名称download.aspx?id=1080保存

wgethttp://www.minjieren.com/download?id=1

即使下载的文件是zip格式,它仍然以download.php?id=1080命令。

正确:为了解决这个问题,我们可以使用参数-O来指定一个文件名:

wget-Owordpress.ziphttp://www.minjieren.com/download.aspx?id=1080

实例3:使用wget–limit-rate限速下载

命令:

wget--limit-rate=300khttp://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:

当你执行wget的时候,它默认会占用全部可能的宽带下载。但是当你准备下载一个大文件,而你还需要下载其它文件时就有必要限速了。

实例4:使用wget-c断点续传

命令:

wget-chttp://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:

使用wget-c重新启动下载中断的文件对于我们下载大文件时突然由于网络等原因中断非常有帮助,我们可以继续接着下载而不是重新下载一个文件。需要继续中断的下载时可以使用-c参数。

实例5:使用wget-b后台下载

命令:

wget-bhttp://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:

对于下载非常大的文件的时候,我们可以使用参数-b进行后台下载。

wget-bhttp://www.minjieren.com/wordpress-3.1-zh_CN.zip

Continuinginbackground,pid1840.

Outputwillbewrittento`wget-log'.

你可以使用以下命令来察看下载进度

tail-fwget-log

实例6:伪装代理名称下载

命令:

wget--user-agent="Mozilla/5.0(Windows;U;WindowsNT6.1;en-US)AppleWebKit/534.16(KHTML,likeGecko)Chrome/10.0.648.204Safari/534.16"http://www.minjieren.com/wordpress-3.1-zh_CN.zip

说明:

有些网站能通过根据判断代理名称不是浏览器而拒绝你的下载请求。不过你可以通过–user-agent参数伪装。

实例7:使用wget–spider测试下载链接

命令:

wget--spiderURL

说明:

当你打算进行定时下载,你应该在预定时间测试下载链接是否有效。我们可以增加–spider参数进行检查。

wget--spiderURL

如果下载链接正确,将会显示

wget--spiderURL

Spidermodeenabled.Checkifremotefileexists.

HTTPrequestsent,awaitingresponse...200OK

Length:unspecified[text/html]

Remotefileexistsandcouldcontainfurtherlinks,

butrecursionisdisabled--notretrieving.

这保证了下载能在预定的时间进行,但当你给错了一个链接,将会显示如下错误

wget--spiderurl

Spidermodeenabled.Checkifremotefileexists.

HTTPrequestsent,awaitingresponse...404NotFound

Remotefiledoesnotexist--brokenlink!!!

你可以在以下几种情况下使用spider参数:

定时下载之前进行检查

间隔检测网站是否可用

检查网站页面的死链接

实例8:使用wget–tries增加重试次数

命令:

wget--tries=40URL

说明:

如果网络有问题或下载一个大文件也有可能失败。wget默认重试20次连接下载文件。如果需要,你可以使用–tries增加重试次数。

实例9:使用wget-i下载多个文件

命令:

wget-ifilelist.txt

说明:

首先,保存一份下载链接文件

cat>filelist.txt

url1

url2

url3

url4

接着使用这个文件和参数-i下载

实例10:使用wget–mirror镜像网站

命令:

wget--mirror-p--convert-links-P./LOCALURL

说明:

下载整个网站到本地

–miror:开户镜像下载

-p:下载所有为了html页面显示正常的文件

–convert-links:下载后,转换成本地的链接

-P./LOCAL:保存所有文件和目录到本地指定目录

实例11:使用wget–reject过滤指定格式下载

命令:
wget--reject=gifur

说明:

下载一个网站,但你不希望下载图片,可以使用以下命令。

实例12:使用wget-o把下载信息存入日志文件

命令:

wget-odownload.logURL

说明:

不希望下载信息直接显示在终端而是在一个日志文件,可以使用

实例13:使用wget-Q限制总下载文件大小

命令:

wget-Q5m-ifilelist.txt

说明:

当你想要下载的文件超过5M而退出下载,你可以使用注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。

实例14:使用wget-r-A下载指定格式文件

命令:

wget-r-A.pdfurl

说明:

可以在以下情况使用该功能

下载一个网站的所有图片

下载一个网站的所有视频

下载一个网站的所有PDF文件

实例15:使用wgetFTP下载

命令:

wgetftp-url

wget--ftp-user=USERNAME--ftp-password=PASSWORDurl

说明:

可以使用wget来完成ftp链接的下载。

使用wget匿名ftp下载

wgetftp-url

使用wget用户名和密码认证的ftp下载

wget--ftp-user=USERNAME--ftp-password=PASSWORDurl

备注:编译安装

使用如下命令编译安装:

#tarzxvfwget-1.9.1.tar.gz

#cdwget-1.9.1

#./configure

#make

#makeinstall

分享到:
评论

相关推荐

    每天一个linux命令(61):wget命令详解

    本篇文章主要介绍了wget命令,Linux系统中的wget是一个下载文件的工具,非常具有实用价值,需要的朋友可以参考下。

    wget命令用法详解.docx

    "wget 命令用法详解" wget 命令是 Linux 下开发的开放源代码软件,由 Hrvoje Niksic ...wget 命令是一个功能强大且易于使用的下载工具,支持断点续传、批量下载、挑选性的下载、密码和认证、代理服务器等多种功能。

    linux运维笔记:最常用的150个命令.docx

    Linux运维笔记是系统管理员和开发者不可或缺的一部分,这篇笔记总结了最常用的150个Linux命令,涵盖文件和目录操作、查看文件及内容处理、文件压缩及解压缩、信息显示、搜索文件、用户管理和基础网络操作等多个方面...

    Linux 中wget命令详细介绍

    两个Linux命令wget和exec 一个linux命令:wget ftp访问命令来下载文件的三种方式 1)wget ftp://userName:password@172.17.5.73:21/xxxx/xxx.txt 2) wget –ftp-user=XXX –ftp-password=xx ftp://172.17.5.73:21/...

    Linux中curl命令和wget命令的使用介绍与比较

    本文介绍的是Linux中curl命令和wget命令,这两者都是用来下载文件的工具,下面来看看详细的介绍: 一、wget wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径 例1: wget ...

    wget命令用法

    wget 非常稳定 它在带宽很窄的情况下和不稳定网络中有很强的适应性 如果是由于网络的原因下载失败 wget命令会不断的尝试 直到整个文件下载完毕 如果是服务器打断下载过程 它会再次联到服务器上从停止的地方继续下载 ...

    Linux基本操作命令练习.pdf

    *wget命令:下载文件,例如 wget www.baidu.com 6. 系统管理命令 在Linux系统中,系统管理是非常重要的,系统管理命令可以帮助用户管理系统配置和系统资源。常用的系统管理命令包括: *uname命令:显示系统信息,...

    详解Linux中的wget命令

    Linux系统中的wget是一个下载文件的工具,它用在命令行下。对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器。下面通过本文给大家介绍Linux中的wget命令,一起看看吧

    操作系统实验报告熟悉Linux的基本环境和Linux的基本命令.doc

    * wget命令:下载文件。例如:wget http://www.baidu.com/myfile 熟悉Linux的基本环境和基本命令是掌握Linux操作系统的基础。只有熟悉了基本环境和基本命令,才能更好地使用Linux操作系统,提高工作效率和生产力。

    linux wget 命令用法详解(附实例说明).docx

    wget 命令默认会以最后一个符合”/”的后面的字符来命令文件名,对于动态链接的下载通常文件名会不正确。可以使用参数-O 来指定一个文件名,例如: ``` wget -O wordpress.zip ...

    Linux基础课件网络管理命令wget命令共11页.pdf

    Linux基础课件网络管理命令wget命令共11页.pdf.zip

    150个常用的Linux命令汇总

    "150个常用的Linux命令汇总" Linux 命令是 Linux 操作系统的核心组件之一,它们提供了对系统的控制和管理能力。以下是 150 个常用的 Linux 命令汇总,涵盖了文件和目录操作、查看文件及内容处理、文件压缩及解压缩...

    SSH远程管理Linux常用命令文件上传下载.docx

    3. vi 命令:是一个编辑器,类似于 Windows 的记事本,可以用来编辑配置文件,例如修改 SSH 服务器的端口号。 4. chmod 命令:修改文件权限,例如赋予可执行权限或写入权限。 5. mv 命令:移动文件,例如将文件...

    渗透测试常用Linux命令.pdf

    Linux 渗透测试常用命令大全 Linux 作为一款开源操作系统,广泛应用于服务器、嵌入式系统、移动设备等领域。作为一名渗透测试人员,掌握 Linux 命令是必备技能之一。本文将对 Linux 命令进行详细的介绍,并结合实践...

    linux存储挂载.pdf

    在Linux系统中,挂载文件系统是指将一个文件系统连接到另一个文件系统中的过程。在本例中,使用mount命令将逻辑卷挂载到/data文件夹中,命令为:`mount /dev/lvm/data /data`。 知识点8:删除逻辑卷 在Linux系统中...

    AIX、Linux 命令大全打包下载

    AIX、Linux 命令大全打包下载 AIX、Linux 命令大全打包下载 AIX、Linux 命令大全打包下载

    oracle安装教程之Linux更换yum源

    如果您的 Linux 主机不能使用 wget 命令,可以自行下载 wget 包,然后使用 rpm 命令安装下载的 rpm 包。wget 包的下载地址为:https://pkgs.org/ 三、备份原有源文件 将下载下来的阿里云 yum 源文件备份,防止出现...

    Linux测试带宽(shell),测试流量

    5.使用后台运行命令执行:nohup ./bandwidth.sh (注:停止脚本 pkill -9 bandwidth.sh && pkill -9 wget) 6.查看结果:BandwitdthResult.txt //********************************************************* 测试...

Global site tag (gtag.js) - Google Analytics