主题
Linux网络传输命令详解
课程介绍
接下来我们学习几个网络传输和测试命令。ping命令测试网络连通性,可以ping域名或IP;wget命令用于下载文件,支持HTTP、HTTPS、FTP协议;curl命令用于发起HTTP请求,支持GET、POST等方法,还可以只获取响应头。这三个命令在网络调试和文件下载时很常用。
1. Linux网络管理系列
2. ping命令:检查网络连通性
命令概述
ping命令是Linux系统中用于检查网络连通性的常用工具,可以测试本地主机与目标主机之间的网络连接是否正常。
基本语法
bash
ping [-c 次数] IP地址/主机名选项说明
| 选项 | 功能描述 |
|---|---|
-c | 指定ping的次数,默认为无限次 |
-i | 指定ping的间隔时间,默认为1秒 |
-s | 指定ping的数据包大小 |
-t | 设置TTL(Time To Live)值 |
使用示例
示例1:ping域名
bash
# ping百度域名,检查网络连通性
ping www.baidu.com
# ping百度域名,只ping3次
ping -c 3 www.baidu.com示例2:ping IP地址
bash
# ping百度的IP地址
ping 14.215.177.38
# ping本地回环地址,测试本地网络
ping 127.0.0.1输出结果解析
bash
# 示例输出
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=1 ttl=57 time=40.3 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=2 ttl=57 time=40.5 ms
64 bytes from 14.215.177.38 (14.215.177.38): icmp_seq=3 ttl=57 time=40.4 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 40.375/40.487/40.565/0.076 ms关键信息:
14.215.177.38:目标主机的IP地址icmp_seq:ping的序列号ttl:生存时间(跳数)time:延迟时间(毫秒)3 packets transmitted:发送的数据包数量3 received:接收的数据包数量0% packet loss:丢包率rtt min/avg/max/mdev:延迟的最小/平均/最大/标准差
3. wget命令:下载网络文件
命令概述
wget是Linux系统中用于下载网络文件的非交互式命令行工具,支持HTTP、HTTPS和FTP协议。
基本语法
bash
wget [-b] URL选项说明
| 选项 | 功能描述 |
|---|---|
-b | 后台下载模式 |
-O | 指定下载文件的保存名称 |
-c | 断点续传 |
-r | 递归下载整个网站 |
-nH | 不创建以主机名命名的目录 |
--no-parent | 不下载父目录 |
使用示例
示例1:前台下载文件
bash
# 下载Hadoop安装包
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz示例2:后台下载文件
bash
# 后台下载Hadoop安装包
wget -b https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
# 查看下载日志
tail -f wget-log示例3:断点续传
bash
# 断点续传下载
wget -c https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz取消下载
使用Ctrl+c快捷键可以取消正在进行的下载任务。
4. curl命令:发起网络请求
命令概述
curl是Linux系统中用于发起网络请求的强大命令行工具,支持多种协议,包括HTTP、HTTPS、FTP、FTPS等。
基本语法
bash
curl [选项] URL常用选项
| 选项 | 功能描述 |
|---|---|
-I | 只显示HTTP响应头信息 |
-o | 将响应内容保存到文件 |
-O | 将响应内容保存到文件,使用URL中的文件名 |
-L | 跟随重定向 |
-X | 指定HTTP请求方法(GET、POST、PUT、DELETE等) |
-H | 设置HTTP请求头 |
-d | 设置HTTP请求体 |
-u | 设置用户名和密码(用于HTTP认证) |
使用示例
示例1:获取网页内容
bash
# 获取百度首页内容
curl www.baidu.com示例2:只获取响应头
bash
# 只获取百度首页的响应头信息
curl -I www.baidu.com示例3:保存响应内容到文件
bash
# 将百度首页内容保存到文件
curl -o baidu.html www.baidu.com
# 将响应内容保存到文件,使用URL中的文件名
curl -O https://archive.apache.org/dist/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz示例4:发送POST请求
bash
# 发送POST请求
curl -X POST -d "username=admin&password=123456" http://example.com/login示例5:设置请求头
bash
# 设置User-Agent请求头
curl -H "User-Agent: Mozilla/5.0" www.baidu.com7. 关键命令参考
| 命令 | 功能描述 |
|---|---|
ping -c 次数 域名/IP | 检查网络连通性,指定ping的次数 |
ping 127.0.0.1 | 测试本地网络 |
wget URL | 前台下载网络文件 |
wget -b URL | 后台下载网络文件 |
tail -f wget-log | 查看wget后台下载的日志 |
Ctrl+c | 取消正在进行的下载任务 |
curl URL | 获取网页内容 |
curl -I URL | 只获取响应头信息 |
curl -o 文件名 URL | 将响应内容保存到文件 |
curl -X POST -d 数据 URL | 发送POST请求 |
课程总结
这节课学了三个超实用的网络命令,记好:
1. ping - 测网络通不通
ping www.baidu.com看看能不能上网ping -c 5 www.baidu.com只ping5次(不然会一直ping)- 能收到回复就是通的,丢包率高就是网络有问题
2. wget - 下载文件
wget 网址直接下载wget -b 网址后台下载(不占终端)wget -c 网址断了继续下(断点续传)
3. curl - 发网络请求
curl www.baidu.com拿网页内容curl -I www.baidu.com只看响应头(检查网站状态)curl -X POST -d "数据" 网址发POST请求(模拟表单提交)
这三个命令在调试网络、下文件、测接口的时候经常用,必须会!
课后练习
练习1:测试网络连通性
- 用
ping -c 3 www.baidu.com测试百度,看丢包率是多少 - 用
ping 127.0.0.1测试本地网络(应该100%通)
💡 提示:按Ctrl+C可以停止ping命令
练习2:下载文件
- 用
wget下载一个小文件(比如wget https://example.com) - 试试后台下载:
wget -b https://example.com,然后用tail -f wget-log看进度
练习3:玩curl命令
- 用
curl -I www.baidu.com看百度的响应头,找HTTP状态码(应该是200) - 用
curl -o baidu.html www.baidu.com把百度首页存成文件