wget 备忘

今天要从github下个库很慢,突然来了这个命令:ssh coderbee@coderbee.net 'wget https://github.com/sbt/sbt-assembly/archive/master.zip && cat master.zip' > master.zip,把vps当作下载中转站了,速度还行。

下完后觉得wget还是很nice的,以前也用来下载过一些api文档,多学习点。

wget介绍

wget 是非交互式(可以在后台运行)的网络下载工具,支持的协议有HTTP、HTTPS、FTP。

wget 可以解析并获取HTML、XHTML和CSS页面里的链接,创建远程web页面的本地版本,完全重建原始页面的目录结构。可以命令wget转换已下载文件里的链接指向本地文件,用于离线浏览。

wget的健壮性可用于慢速或不稳定的网络连接;如果下载由于网络问题失败,wget会重试直到文件下载成功。还支持断点下载,如果服务器支持的话。

使用方式: wget [option]... [URL]...

有用的选项

  • -b, --bacckground:启动后立即进入后台运行。可以用-o选项指定日志输出文件。
  • -o logfile, --output-file=logfile:记录所有输出信息到logfile。
  • -a logfile, --append-file=logfile:记录所有输出信息追加到logfile。
  • -q, --quiet:屏蔽wget输出。

  • -i file, --input-file=file:从指定文件读取url。

  • -F, --force-html:强制把输入文件当作HTML文件,这样可以解析html里的连接。
  • -B url, --base=URL:指定上两个选项里html文件里的相对连接的基础url。如,指定基础url为 http://foo/bar/a.html,wget从html文件读取到../baz/b.html,将解析为 http://foo/baz/b.html

  • -t number, --tries=number:设置重试次数为number,如果设为0或inf表示无不限制。

  • -w seconds, --wait=seconds:两次下载的间隔。
  • -waitretry=seconds:失败后重试的等待时间。

  • -c, --continue:继续下载之前已部分下载的文件。

  • -T seconds, --timeout=seconds:设置网络超时时间为seconds秒。

  • --limit-rate=amount:限制下载速度为每秒amount字节,可以后缀k或m,表示KB/s、MB/s。如:--limit-rate=20k

  • --user=user:指定http、ftp的用户名。

  • --password=password:指定http、ftp的用户的密码。

  • -U agent-string, --user-agent=agent-string:指定发送到服务器的user-agent。

  • --post-data=string:用http post方法在请求体发送字符串内容。

  • --post-data=file:用http post方法在请求体发送文件内容。非multipart方式。

递归选项

  • -r, --recursive:允许递归下载,默认的最大深度是5。
  • -l depth, --level=depth:指定递归的最大深度为depth。

  • -k, --convert-links:下载完成后,转换文档里的连接,使适合本地浏览。

  • -p, --page-requisites:这个选项使wget下载展示一个给定html页面所必须的所有文件。这包括内嵌图片、音频和引用的样式文件。

  • -np:不遍历父目录。

  • -nd:不在本机重新创建目录结构。

加粗的部分我觉得特别有用,更多的选项可以查看man手册。


欢迎关注我的微信公众号: coderbee笔记,可以更及时回复你的讨论。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据