Linux如何使用命令行下载网络文件

时代周报 2019-09-11

> 请关注本头条号,每天坚持更新原创干货技术文章。

> 如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习。

1. wget简介

wget是Linux平台上最常用的命令行下载工具之一。支持http/https/ftp协议,支持http代理、后台下载、网站镜像下载(递归下载)、限速下载、断点续传、指定user-agent(模拟不同浏览器)、限制下载大小等等实用功能,是Linux上必不可少的装机工具。类似功能的工具是:curl

2:安装wget

以CentOS 7.6为例,最小化安装并没有包括wget,需要手动安装。

命令:

[root@zcwyou ~]# yum -y install wget

看到最后的输出Complete!证明安装完成。

Installed:

wget.x86_64 0:1.14-15.el7_4.1 Complete!

Linux如何使用命令行下载网络文件


验证是否安装成功:

[root@zcwyou ~]# rpm -qa |grep wget

可以看到有结果输出:

wget-1.14-15.el7_4.1.x86_64

Linux如何使用命令行下载网络文件


3. wget实用例子

3.1. 下载一个文件

选项:wget加网址即可

[root@zcwyou ~]# wget https://wordpress.org/latest.tar.gz


Linux如何使用命令行下载网络文件


3.2 指定保存的文件名

选项-O

指定下载回来的文件另存为wordpress.tar.gz

[root@zcwyou ~]# wget -O wordpress.tar.gz https://wordpress.org/latest.tar.gz

使用这个选项的原因是:动态的网页链接,并不直接带常见的文件名。wget默认会以最后一个符合”/”的后面的字符来命令,所以下载回来的文件名一般都是有问题的。

3.3 限制下载速度

使用选项–limit-rate

[root@zcwyou ~]# wget --limit-rate=123k https://wordpress.org/latest.tar.gz

3.4 断点续传

使用选项-c

[root@zcwyou ~]# wget -c https://wordpress.org/latest.tar.gz

3.5 后台下载

使用选项-b

[root@zcwyou ~]# wget -b https://wordpress.org/latest.tar.gz

3.6 保存下载日志

选项-o

例子:把下载的日志保存到wget123.log,通常结合后台下载选项-b一起使用

[root@zcwyou ~]# wget -b -o wget123.log https://wordpress.org/latest.tar.gz

3.7 指定用户代理,即模拟某些浏览器

使用选项–user-agent

使用这个选项的原因是,某些网站限制浏览器的版本,某些浏览器不能访问。

模拟Windows 10的Edge浏览器

[root@zcwyou ~]# wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 10.0; en-US) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134" https://wordpress.org/latest.tar.gz

模拟Windows 10的IE11浏览器

[root@zcwyou ~]# wget --user-agent="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; en-US)" https://wordpress.org/latest.tar.gz

3.8 测试链接

使用选项–spider,并不会真正下载文件

[root@zcwyou ~]# wget --spider https://wordpress.org/latest.tar.gz

看到输出:Remote file exists.即可证明该下载链接有效。

3.9 调整重试次数

使用选项–tries

当网络质量非常差的情况下使用,提升wget的下载能力。默认重试20次。

[root@zcwyou ~]# wget --tries=66 https://wordpress.org/latest.tar.gz

3.10 一次下载多个文件

先创建一个文本文件downloadlist.txt,里面的内容是准备下载的文件链接:

http://www.zcwyou.com/1.rar

http://www.zcwyou.com/2.exe

http://www.zcwyou.com/3.msi

Linux如何使用命令行下载网络文件


然后把这个列表交给wget处理

[root@zcwyou ~]# wget -i downloadlist.txt

3.11 下载整个网站内容到本地

使用参数:–mirror

[root@zcwyou ~]# wget --mirror -p --convert-links -P ./qq http://www.qq.com

-p表示只下载正常的网页

–convert-links表示自动把链接转为本地

-P后面加一个目录路径,即网站内容的本地保存位置,自动创建一个目录,名称自定义

选项–reject指定不下载的文件类型,比如除了图片外,下载其他内容

[root@zcwyou ~]# wget --reject=gif --mirror -p --convert-links -P ./qq http://www.qq.com

3.12 限制下载的文件大小

使用选项-Q,只对递归有效或者结合–mirror一起使用,对单文件无效

3.13 下载指定文件格式

结合递归下载选项-r,只下载exe文件。

[root@zcwyou ~]# wget -r -A.exe http://www.pconline.com.cn

3.14 连接ftp服务器

匿名下载

[root@zcwyou ~]# wget ftp://www.linuxrumen.com/qqwechat.exe

带用户名选项–ftp-user=

带密码选项–ftp-password=

例如:用户名user1,密码123

[root@zcwyou ~]# wget --ftp-user=user1 --ftp-password=123 ftp://www.linuxrumen.com/qqwechat.exe


Linux如何使用命令行下载网络文件


总结:wget是一个常用的,功能强大的命令行下载工具,支持多种协议,是Linux系统最常用的工具之一。

Linux如何使用命令行下载网络文件

**点击了解更多**,快速查看更多的技术文章列表。

同步于:

https://www.linuxrumen.com/cyml/262.html