- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
Hack-27 Wget 下载器
Wget 下载器
wget
是 Linux 标配的下载器,虽然作者说他是 Linux 上最好的选择,但是还有 aria2
这个多线程下载神器,个人感觉要比 wget
好。
在这里,作者介绍了 15 个 wget
的应用。
1. 下载单一文件
wget "http://url.com/file"
很简单 :)
2. 将下载的文件重命名
wget "http://url.com/file" -O rename
-O
的选项,使得下载的文件被重命名了.这个开关很有用,因为 wget
默认下载的文件是根据 URL 来命名的,如果 URL 中有很多参数,那么你下载的文件就会是个乱七八糟的名字,最常见的是下载百度云...(百度云不开会员就限速!)
3. 下载限速
我们可以用 --limit-rate
这个选项来限制 wget
的下载速度,比如:
wget --limit-rate=200k "http://url.com/file.tar.bz2"
就会限制下载速度到 200KB/s
4. 继续下载
这个功能也很常用,比如,正下载到一半断网了,或者网络中断,那么就可以用 -c
的开关来定义继续下载, continue 嘛!
需要注意的是,如果不加这个开关,那么就会重新下载一个新的文件,并且如果当前目录下有重名的文件,会在重名文件的后缀名上加一个 .1
, 如果有 .1
了,就会加个 .2
, 所以这个 -c
的开关很重要呢!
wget -c "http://url.com/file.tar.bz2"
5. 后台下载
这个也很有用,甬道的开关是 -b
- background
如果开启了这个开关的话,就不会有任何输出,但是记录还是要有的,默认是在当前目录下创建一个 wget-log
的文件,若你需要指定记录文件的名字呢,就需要用到 -o
这个选项了,后面接要保存的文件名,注意了,这里是小写的 o
哦!
wget -b "http://url.com/downloads.tar" -o downloads.log -O download_file"
6. 指定下载的 User Agent
用 --user-agent
这个选项可以手动指定我们的 user-agent ,这在目标服务器限制 User Agent 的时候很有用。
wget --user-agent="I'm not Wget.." "http://url.com/downloads.tar"
7. 测试目标文件
我们拿到一个下载地址之后就直接开始下载嘛? 一般情况下是的,但是不排除我们只想看一下目标文件是什么,类型啦,大小啦,甚至目标文件是否真的存在(返回代码是什么).
这个时候就要用到另一个选项 --spider
, 没错,就是蜘蛛,先让蜘蛛去爬一下,看看我们要下载的文件成色如何。
➤ wget --spider "localhost/user.zip" -O /dev/null
Spider mode enabled. Check if remote file exists.
--2016-01-03 20:21:11-- http://localhost/user.zip
Resolving localhost (localhost)... 127.0.0.1
Connecting to localhost (localhost)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3463466 (3.3M) [application/zip]
Remote file exists.
➤
上面的就是我们的蜘蛛给我们返回的内容,比较详细呢!
在看一个错误的(404):
➤ wget --spider rabbit/index.html
Spider mode enabled. Check if remote file exists.
--2016-01-03 20:15:48-- http://rabbit/index.html
Resolving rabbit (rabbit)... 127.0.0.1, 127.0.1.1
Connecting to rabbit (rabbit)|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
Remote file does not exist -- broken link!!!
➤
然后服务器端的日志为:
127.0.0.1 - - [03/Jan/2016:20:15:48 +0800] "HEAD /index.html HTTP/1.1" 404 0 "-" "Wget/1.16.1 (linux-gnu)"
看到了吗, spider 实质上是向服务器发送了一个 HEAD 请求. 以此查看目标文件的信息。
这样做的用途,作者也给了示例,感觉最有用的还是检查书签,检查一下你收藏栏里的网址是否还健在。
8. 设定重试次数
有时候网络不好,下载经常重试,所以就需要设定 retry 的次数,可以用 –tries
这个选项来定义:
wget --tries=75 "http://url.com/file.tar.bz2"
9. 批量下载(从文件导入下载链接)
这个功能实际上是从一个文件读取下载链接,然后慢慢下载...
比如,有个 url.txt 里面存放着很多下载地址,那么就可以用 -i
这个参数来定义:
wget -i url.txt
在此安利一波我的杂货仓: http//ipv6.kfd.me 仅限 IPv6 地址访问。
10. 下载整个网站(爬爬爬)
wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
这个... 先一一介绍参数吧:
--mirror
打开'镜像储存'开关 因为我们是复制整个网站嘛-p
下载所有相关文件 为了展示 HTML 页面所必须的文件,css,js,img 啥的–convert-links
下载完成之后,把原始链接转换成相对连接(根据本地环境)-P ./LOCAL-DIR
保存到指定的目录下
这个例子实际上就是爬站... 或者说,窃。
11. 拒绝下载某种文件
再上面的例子中,如果你不想下载某种特定类型的文件,就可以用 --reject
参数来指定要拒绝的文件类型,比如 --reject=gif
就拒绝下载 gif 文件。
12. 保存下载日志
上面(第五点) 我已经提过了,在此不再赘述,
参数为 -o
小写。
13. 超过设定大小后自动退出
如果你想让下载的文件不超过 20M, 就可以指定 -Q
的参数,如果超过多少兆之后,就退出下载。
wget -Q5m -i url.txt
这个参数生效的条件是, url 必须都要从文件中读取。
14. 仅下载特定类型的文件
用途:
- 下载某个网站上的所有图片
- 下载某个网站上的所有视频
- 下载某个网站上的所有 PDF 文件
wget -r -A.pdf "http://url-to-webpage-with-pdfs.com/"
-r
表示递归下载,默认深度为 5.
15. FTP 登陆下载
wget --ftp-user=USERNAME --ftp-password=PASSWORD "DOWNLOAD.com"
wget
作为一个优秀的下载软件,功能强大到难以想象,想知道更多? 问一下 man
吧!
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论