Bash 脚本中经常需要与网络交互。本章介绍常用的网络命令,包括检查连通性、下载文件、发送请求、端口扫描以及远程执行命令等。
1. ping – 检查主机可达性
ping 发送 ICMP Echo 请求,测试目标主机是否在线。
# 基本用法
ping -c 4 google.com
# 在脚本中检查连通性
if ping -c 1 -W 1 8.8.8.8 >/dev/null 2>&1; then
echo "网络通畅"
else
echo "无法连接互联网"
fi
常用选项:
-c 次数:发送指定数量的包-W 秒数:等待响应的超时时间-i 秒数:发送间隔
2. curl – 传输数据
curl 支持 HTTP、HTTPS、FTP、SCP、SFTP 等协议,功能强大。
下载文件:
# 下载并保存为原文件名
curl -O https://example.com/file.zip
# 指定保存文件名
curl -o myfile.zip https://example.com/file.zip
# 静默模式(不显示进度条)
curl -s -O https://example.com/file.zip
发送 HTTP GET 请求:
# 获取网页内容
curl https://api.example.com/users
# 添加自定义头部
curl -H "Authorization: Bearer token" https://api.example.com/data
# 跟随重定向
curl -L https://short.url/redirect
发送 POST 请求:
# 表单数据
curl -X POST -d "name=John&age=30" https://example.com/api
# JSON 数据
curl -X POST -H "Content-Type: application/json" \
-d '{"name":"John","age":30}' https://example.com/api
# 从文件读取数据
curl -X POST -d @data.json https://example.com/api
显示响应头:
curl


9298

被折叠的 条评论
为什么被折叠?



