everyday:linux wget

everyday:linux wget

功能说明

  • wget是一个下载文件的工具,它用于命令行下。可以通过它,下载一些软件或从远程服务器恢复备份到本地服务器。
  • wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理。
  • 所谓的自动下载是指,wget可以在用户退出系统的之后在后台执行。
  • wget 可以跟踪HTML页面上的链接依次下载来创建远程服务器的本地版本,完全重建原始站点的目录结构。这又常被称作”递归下载”。在递归下载的时候,wget 遵循Robot Exclusion标准(/robots.txt). wget可以在下载的同时,将链接转换成指向本地文件,以方便离线浏览。
  • wget 非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性.如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。这对从那些限定了链接时间的服务器上下载大文件非常有用。

命令详解

  1. 命令格式
    wget [参数] [URL地址]
  2. 命令功能
    用于从网络上下载资源,没有指定目录,下载资源会默认为当前目录。wget虽然功能强大,但是使用起来还是比较简单:
  3. 支持断点下载功能;
  4. 同时支持FTP和HTTP下载方式;尽管现在大部分软件,可以使用HTTP方式下载,但是,有些时候,仍然需要使用FTP方式下载软件;
  5. 支持代理服务器;对安全强度很高的系统而言,一般不会将自己的系统直接暴露在互联网上,所以,支持代理是下载软件必须有的功能;
  6. 设置方便简单;命令行在设置上其实有更多的优点,最少,鼠标可以少点很多次,也不要担心是否错点鼠标;
  7. 程序小,完全免费。
  8. 命令参数
    • 启动
    -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 指定EGD socket的文件名
- **下载**
    –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 -l inf -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 –spider url 不下载只显示过程
  1. 举例
    • eg1 使用wget下载单个文件
        // 从网络下载一个文件并保存在当前目录,在下载的过程中会显示进度条,包含(下载完成百分比,已经下载的字节,当前下载速度,剩余下载时间)。
    wget http://image.beekka.com/blog/201109/bg2011091201.jpg
+ eg2 使用wget -O下载并以不同的文件名保存
        // wget默认会以最后一个符合”/”的后面的字符来命令,对于动态链接的下载通常文件名会不正确。
    // 为了解决这个问题,可以使用参数-O来指定一个文件名
    wget -O bg2011091201.jpg http://image.beekka.com/blog/201109?id=89
+ eg3 使用wget --limit-rate限速下载
        // 执行wget的时候,它默认会占用全部可能的宽带下载。
    // 当准备下载一个大文件,而还需要下载其它文件时,就有必要进行限速了。
    wget --limit-rate=300k http://image.beekka.com/blog/201109/bg2011091201.jpg
+ eg4 使用wget -c断点续传
        // 使用wget -c重新启动下载中断的文件,对于下载大文件时,突然由于网络等原因中断,是非常有帮助,可以断续接着下载而不是重新下载一个文件。
    // 需要继续中断的下载时可以使用-c参数。
    wget -c http://image.beekka.com/blog/201109/bg2011091201.jpg
+ eg5 使用wget -b后台下载
    // 对于下载非常大的文件的时候,可以使用参数-b进行后台下载。
    wget -b http://image.beekka.com/blog/201109/bg2011091201.jpg
    Continuing in background, pid 1840.
    Output will be written to `wget-log'.

    // 以使用以下命令来察看下载进度:
    tail -f wget-log
+ eg6 伪装代理名称下载
    // 有些网站能通过根据判断代理名称不是浏览器而拒绝下载请求。不过可以通过–user-agent参数伪装代理名称。
    wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16" http://image.beekka.com/blog/201109/bg2011091201.jpg
+ eg7 使用wget --spider测试下载链接
      // 当打算进行定时下载时,应该在预定时间测试下载链接是否有效。可以增加–spider参数进行检查。
    wget --spider url

    # 可以在以下几种情况下使用spider参数:
       1. 定时下载之前进行检查
       2. 间隔检测网站是否可用
       3. 检查网站页面的死链接
+ eg8 使用wget --tries增加重试次数
    // 网络有问题或下载一个大文件时,有可能会失败。
    // wget默认重试20次连接下载文件。
    // 如果需要,可以使用–tries增加重试次数。
    wget --tries=40 url
+ eg9 使用wget -i下载多个文件
    // 保存一份下载链接文件
    cat > filelist.txt
    url1
    url2
    url3
    url4
    // 使用这个文件和参数-i下载多个文件
    wget -i filelist.txt
+ eg10 使用wget --mirror镜像网站
    wget --mirror -p --convert-links -P ./LOCAL url
    mem:
    --mirror 开启镜像下载
    -p 下载所有为了html页面显示正常的文件
    --convert-links 下载后,转换成本地的链接
    P ./LOCAL 保存所有文件和目录到本地指定目录
+ eg11 使用wget --reject过滤指定格式下载
    // 下载一个网站,但是不希望下载图片,可以使用以下命令。
    wget --reject=gif url
+ eg12 使用wget -o把下载信息存入日志文件
    // 不希望下载信息直接显示在终端而是存入一个日志文件
    wget -o download.log url
+ eg13 使用wget -Q限制总下载文件大小
    // 保存一份下载链接文件
    cat > filelist.txt
    url1
    url2
    url3
    url4
    // 当要下载的文件超过5M,而退出下载。注意:这个参数对单个文件下载不起作用,只能递归下载时才有效。
    wget -Q5m -i filelist.txt
+ eg14 使用wget -r -A下载指定格式文件
      # 以下情况使用该功能:
      1. 下载一个网站的所有图片
      2. 下载一个网站的所有视频
      3. 下载一个网站的所有PDF文件
      wget -r -A .pdf url
+ eg15 使用wget FTP下载
    // 使用wget用户名和密码认证的ftp下载
    wget --ftp-user=USERNAME --ftp-password=PASSWORD url
    // 使用wget匿名ftp下载
    wget ftp-url
  1. 编译安装
    tar zxvf wget-1.9.1.tar.gz 
    cd wget-1.9.1
    ./configure
    sudo make
    sudo make install
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,497评论 18 139
  • FTP服务概述 简单FTP构建及访问 VSFTP服务基础 用户禁锢、黑白名单 FTP并发及带宽限制 一、FTP服务...
    紫_轩阅读 7,541评论 3 25
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,016评论 9 467
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,945评论 4 60
  • 低头紧锁眉,思绪万千。 抬头张四目,陌生人前。 回首来时路,愤愤不堪。 何以解忧楚,唯在指间。
    南秀北雄阅读 165评论 0 0