代码改变世界

Linux使用wget命令下载网络资源

2020-04-22 22:43  AlfredZhao  阅读(2665)  评论(0编辑  收藏  举报

之前接触的Linux环境大多是内网,一般都是采用传统的FTP服务器统一存放常用资源,有人需要时从FTP直接下载,若公司FTP没有想要的资源,还需联系管理维护人员下载上传对应的介质。
而目前随着云ECS的普及,很多环境具备了直接连接外网的条件,我们可以使用wget命令直接从网络下载所需资源。
比如,可以用下面的命令直接下载redis-3.2.10.tar.gz这个介质:

wget http://download.redis.io/releases/redis-3.2.10.tar.gz

我在测试环境使用wget下载时报错无法解析主机地址:

[root@test01 ~]# wget http://download.redis.io/releases/redis-3.2.10.tar.gz
--2020-04-22 22:13:29--  http://download.redis.io/releases/redis-3.2.10.tar.gz
Resolving download.redis.io... failed: Temporary failure in name resolution.
wget: unable to resolve host address “download.redis.io”

尝试ping www.baidu.com提示未知主机,ping 114.114.114.114 可以成功:

[root@test01 ~]# ping www.baidu.com
ping: unknown host www.baidu.com

[root@test01 ~]# ping 114.114.114.114
PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data.
64 bytes from 114.114.114.114: icmp_seq=1 ttl=72 time=13.5 ms
64 bytes from 114.114.114.114: icmp_seq=2 ttl=90 time=10.2 ms

显然是域名解析的问题,检查/etc/resolv.conf,配置正确的nameserver:

[root@test01 ~]# vi /etc/resolv.conf 
nameserver 114.114.114.114

再次尝试ping www.baidu.com 成功:

[root@test01 ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121: icmp_seq=1 ttl=58 time=3.65 ms

再次尝试wget下载redis-3.2.10.tar.gz成功:

[root@test01 ~]# wget http://download.redis.io/releases/redis-3.2.10.tar.gz
--2020-04-22 22:16:59--  http://download.redis.io/releases/redis-3.2.10.tar.gz
Resolving download.redis.io... 109.74.203.151
Connecting to download.redis.io|109.74.203.151|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1550261 (1.5M) [application/x-gzip]
Saving to: “redis-3.2.10.tar.gz”

100%[========================================================================================================================================>] 1,550,261    471K/s   in 3.2s    

2020-04-22 22:17:07 (471 KB/s) - “redis-3.2.10.tar.gz” saved [1550261/1550261]

查看下载的文件:

[root@test01 ~]# ls -lrth redis-3.2.10.tar.gz 
-rw-r--r--. 1 root root 1.5M Jul 29  2017 redis-3.2.10.tar.gz

可以看到在可以连接外网的Linux环境下,只要正确的配置了域名解析服务器,使用wget直接下载所需资源是非常方便的一件事。
如果下载的资源较大,还可以配合nohup wget xxxx & 的方式后台下载。