跳转到内容

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.com

7. 关键命令参考

命令功能描述
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把百度首页存成文件

评论区

专业的Linux技术学习平台,从入门到精通的完整学习路径