Linux-网络请求和下载
一、ping命令
1.语法
功能:测试网络是否联通,检查指定的网络服务器是否是可联通状态
语法:
ping [-c num] ip或主机名
- 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
- 参数:ip或主机名,被检查的服务器的ip地址或主机名地址
2.实例
比如,检查baidu.com是否连通(未使用-c选项,如果需要停止需要按Ctrl+C)
从中我们可以看到baidu.com的ip地址为39.156.66.10,我们尝试ping一下百度的ip,并且ping三次。
二、wget命令
1.语法
功能:wget是非交互式的文件下载器,可以在命令行内下载网络文件
语法:wget [-b] url地址
- 选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件中
- 参数:url,下载链接
2.实例
这里我们演示一下下载hadoop
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
(1)遇到wget下载速度慢的问题
不过很快就遇到一个问题,我们按照他给我们的提示来不检查证书:
wget --no-check-certificate https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
行是行了,但是呢,这速度也太慢了,等了半天进度还卡在0%
(2)更新本地镜像源来解决
切换到root用户:
通过命令
su -
,然后输入密码即可切换目录:
通过命令
cd /etc/yum.repos.d
,然后通过ls
命令查看是否有CentOS-Base.repo文件,如果没有的话,可能是没有安装yum,可以参考linux软件安装(yum命令)将之前的CentOS-Base.repo改名,就是不用这个了,但是先不删,万一等会操作失误了还可以恢复
通过命令
mv CentOS-Base.repo CentOS-Base.repo.bak
实现下载镜像,以CentOS7为例
通过命令
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
如果没有安装wget,可以参考linux软件安装(yum命令)先清除缓存再生成缓存
通过命令
1 .yum clean all
2.yum makecache
(3)再次使用wget下载
wget --no-check-certificate https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
我这里速度还是慢,不知道是aliyun的镜像没有还是怎么着,不知道你们能不能成功
注意:无论下载是否完成,都会生成要下载的文件,如果下载未完成,请及时清理未完成的不可用文件。
三、curl命令
1.语法
功能:可以发送http网络请求,可用于:下载文件、获取信息等
语法:curl [-0] url地址
- 选项:-0,用于下载文件,当url是下载链接时,可以使用此选项保存文件
- 参数:url,要发起请求的网络地址
2.实例
(1)实例一
cip.cc网站为我们提供免费的IP查询服务,我们可以通过curl命令向cip.cc发起网络请求:
(2)实例二
向百度发起网络请求:
我们可以看到,我们向www.baidu.com发起网络请求后,会返回给我们html源码,这样我们就明白了,curl发起网络请求就好比我们使用浏览器发起网络请求一样,只不过浏览器会将得到的源码渲染成页面,而我们现在只有源码。
(3)实例三
通过curl下载hadoop:
curl -0 https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
我这里也遇到点问题,可能也是因为网络慢下载不下来,目前还没有解决。