近期在Linux下进行一些操作,在非常多地方都用到了wget这个命令,记录一下一些有关wget的使用方法:

wget是在Linux下开发的开放源码的软件,作者是Hrvoje Niksic,后来被移植到包含Windows在内的各个平台上。它有下面功能和特点:

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

(2)同一时候支持FTP和HTTP下载方式。虽然如今大部分软件能够使用HTTP方式下载。可是,有些时候,仍然须要使用FTP方式下载软件;

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

(4)设置方便简单。可能,习惯图形界面的用户已经不是太习惯命令行了,可是,命令行在设置上事实上有很多其它的长处,最少,鼠标能够少点非常多次。也不要操心是否错点鼠标;

(5)程序小,全然免费;程序小能够考虑不计。由于如今的硬盘实在太大了;全然免费就不得不考虑了,即使网络上有非常多所谓的免费软件,可是,这些软件的广告却不是我们喜欢的;



wget尽管功能强大,可是使用起来还是比較简单的,主要的语法是:wget [參数列表] URL。以下就结合详细的样例来说明一下wget的使用方法。

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

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

这个命令能够将http://place.your.url/here 首页下载下来。

使用-x会强制建立server上一模一样的文件夹。假设使用-nd參数,那么server上下载的全部内容都会加到本地当前文件夹。

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

这 个命令会依照递归的方法。下载server上全部的文件夹和文件。实质就是下载整个站点。这个命令一定要小心使用。由于在下载的时候,被下载站点指向的全部地址同 样会被下载,因此,假设这个站点引用了其它站点,那么被引用的站点也会被下载下来!

基于这个原因。这个參数不经常使用。能够用-l number參数来指定下载的层次。比如仅仅下载两层,那么使用-l 2。

要是您想制作镜像网站,那么能够使用-m參数,比如:wget -m http://place.your.url/here

这时wget会自己主动推断合适的參数来制作镜像网站。

此时,wget会登录到server上,读入robots.txt并按robots.txt的规定来运行。

2、断点续传。

当文件特别大或者网络特别慢的时候,往往一个文件还没有下载完。连接就已经被切断,此时就须要断点续传。

wget的断点续传是自己主动的,仅仅须要使用-c參数,比如:

wget -c http://the.url.of/incomplete/file

使用断点续传要求server支持断点续传。-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、password和认证。

wget仅仅能处理利用username/password方式限制訪问的站点,能够利用两个參数:

–http-user=USER设置HTTP用户

–http-passwd=PASS设置HTTPpassword

对于须要证书做认证的站点,就仅仅能利用其它下载工具了,比如curl。

6、利用代理server进行下载。

假设用户的网络须要经过代理server。那么能够让wget通过代理server进行文件的下载。

此时须要在当前用户的文件夹下创建一个.wgetrc文件。文件里能够设置代理server:

http-proxy = 111.111.111.111:8080

ftp-proxy = 111.111.111.111:8080

分别表示http的代理server和ftp的代理server。假设代理server须要password则使用:

–proxy-user=USER设置代理用户

–proxy-passwd=PASS设置代理password

这两个參数。

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

wget还有非常多实用的功能。须要用户去挖掘。

附录:

命令格式:

wget [參数列表] [目标软件、网页的网址]

-V,–version 显示软件版本然后退出;

-h,–help显示软件帮助信息;

-e,–execute=COMMAND 运行一个 “.wgetrc”命令

-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 关闭代理

-nd,–no-directories 不建立文件夹

-x,–force-directories 强制建立文件夹

–http-user=USER设置HTTP用户

–http-passwd=PASS设置HTTPpassword

–proxy-user=USER设置代理用户

–proxy-passwd=PASS设置代理password

-r,–recursive 下载整个站点、文件夹(小心使用)

-l,–level=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 拒绝的文件夹

中文文档名在寻常的情况下会被编码。 可是在 –cut-dirs 时又是正常的,

wget -r -np -nH –cut-dirs=3 ftp://host/test/

測试.txt

wget -r -np -nH -nd ftp://host/test/

%B4%FA%B8%D5.txt

wget “ftp://host/test/*”

%B4%FA%B8%D5.txt

因为不知名的原因,可能是为了避开特殊档名, wget 会自己主动将抓取档名的部分用 encode_string 处理过, 所以该 patch 就把被 encode_string 处理成 “%3A” 这样的东西, 用 decode_string 还原成 “:”。并套用在文件夹与档案名称的部分。decode_string 是 wget 内建的函式。

wget -t0 -c -nH -x -np -b -m -P /home/sunny/NOD32view/  http://downloads1.kaspersky-labs.com/bases/ -o wget.log

原文地址:http://linux.blogbus.com/logs/46636997.html

Linux学习(二) wget命令的使用的更多相关文章

  1. Linux学习之wget命令

    Linux系统中的wget是一个下载文件的工具,它用在命令行下.对于Linux用户是必不可少的工具,我们经常要下载一些软件或从远程服务器恢复备份到本地服务器.wget支持HTTP,HTTPS和FTP协 ...

  2. Linux学习(二) --- 常用命令

    [TOC] 一.常用命令 1.目录 cd切换 cd 路径 切换到指定路径 cd .. 上一级 mkdir:创建目录 mkdir 目录名 pwd:查看 2.查看 ll命令:查询目录内容 ll 查看当前( ...

  3. 【转载】LINUX下安装wget命令(SFTP实现法)

    如何安装wget命令. 方法一:通过yum 命令行为:yum install wget 完成.此操作很简单,但是我安装的linux是centos的最小版本,运行上述命令时会出现无法连接到源网站(大概是 ...

  4. Linux学习新篇——常用命令和快捷键总结

    最近刚接触Linux,整理了一些常用的命令和快捷键 Tab补全命令 当命令记不清了,输入记得的前几个用Tab就可以将该命令自动补全. 启动tomcat服务用$startup.sh 停止tomcat服务 ...

  5. Linux学习之awk命令

    一. AWK 说明    awk是一种编程语言,用于在linux/unix下对文本和数据进行处理.数据可以来自标准输入.一个或多个文件,或其它命令的输出.它支持用户自定义函数和动态正则表达式等先进功能 ...

  6. Linux 学习 (七) 挂载命令 & 用户登陆查看

    Linux达人养成计划 I 学习笔记 挂载命令 mount:查询系统中已经挂载的设备 mount -a:根据配置文件 /etc/fstab 的内容,自动挂载 mount [-t 文件系统] [-o 特 ...

  7. Linux 学习 (四) 帮助命令

    Linux达人养成计划 I 学习笔记 man 命令 获取指定命令的帮助 man的级别 1:查看命令的帮助 2:查看可被内核调用的函数的帮助 3:查看函数和函数库的帮助 4:查看特殊文件的帮助(主要是/ ...

  8. linux学习笔记——基础命令

    最近看了一些老男孩linux运维视频,挺不错的,特此记录一下 linux组成 gun组件 shell等 linux内核 其他软件 linux主要内核: linux kernel2.2 linux ke ...

  9. linux学习笔记-wget相关知识

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wget是非交互式的网络文件下载工具,这里参考帮助文档,记录下实用参数和使用方法. 一.wget的实用参数: wget: 用法: ...

随机推荐

  1. 5.13redis的相关基础

    二.Redis(NoSql)  Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行 100000个请求,读的速度是110000次/s,写的速 ...

  2. JavaScript异步加载方案

    (1) defer,只支持IE defer属性的定义和用法(我摘自w3school网站) defer 属性规定是否对脚本执行进行延迟,直到页面加载为止. 有的 javascript 脚本 docume ...

  3. javascript执行环境及作用域

    执行环境(execution context,为简单起见,有时也成为“环境”)是javascript中最为重要的一个概念.执行环境定义了变量或函数有权访问的其他数据,决定了它们各自的行为.每个执行环境 ...

  4. Java中final、finally、finalize的区别与用法

    1.简单区别:final用于声明属性,方法和类,分别表示属性不可交变,方法不可覆盖,类不可继承.finally是异常处理语句结构的一部分,表示总是执行.finalize是Object类的一个方法,在垃 ...

  5. ORACLE锁表解锁

    SELECT object_name, machine, s.sid, s.serial# FROM gv$locked_object l, dba_objects o, gv$session s W ...

  6. AI:PR的数学表示-传统方法PR

    前言: 接上一篇:AI:模式识别的数学表示 在图像处理PR领域,相对于ANN方法,其他的方法一般称为传统方法.在结构上,几乎所有的PR方法都是可解释的.且任一传统方法,在一定约束下,可以转换为SV近邻 ...

  7. 【sqli-labs】 less30 GET- Blind -Impidence mismatch -Having a WAF in front of web application (GET型基于盲注的带有WAF注入)

    这次是双引号的,WAF绕过方法不变 http://192.168.136.128/sqli-labs-master/Less-30/login.php?id=1&id=2" and ...

  8. mui switch 开关js控制打开 & Cannot read property 'toggle' of null

    //打开开关 mui('#mySwitch').switch().toggle(); //小开关打开异常的情况解决办法$(".mui-switch-handle").attr(&q ...

  9. 使用GitHub代码仓库Repositories上传自己的项目代码

    1.下载客户端github(必须下载,需要该软件所提供的Git shell输入命令来上传项目)下载地址: https://github-windows.s3.amazonaws.com/GitHubS ...

  10. Spring Cloud-config(十一)

    说明 用于分布式中统一的配置管理,是一个单独的微服务 简单例子 准备git 1.我自己在本地环境搭建了git服务器 也可以使用github 可参考:https://www.cnblogs.com/LQ ...