当前位置: 首页 > news >正文

curl-wget-yum基础用法与区别对比

🔧 curl、wget、yum 基础用法与区别对比

“三个Linux常用工具的详细对比:从网络请求到包管理的完整指南”

📊 工具概览

工具主要用途支持平台核心特点
curl数据传输工具跨平台支持多种协议,功能强大
wget文件下载工具跨平台递归下载,断点续传
yum包管理工具Linux (RHEL/CentOS)依赖关系自动处理

🌐 curl 基础用法

🎯 核心功能

curl是一个强大的数据传输工具,支持多种协议(HTTP、HTTPS、FTP、SFTP等)。

🔧 常用命令示例

1.基本HTTP请求
# GET请求curlhttps://api.example.com/data# 显示详细请求信息curl-vhttps://api.example.com/data# 只显示响应头curl-Ihttps://api.example.com/data
2.POST请求
# 发送JSON数据curl-XPOST https://api.example.com/users\-H"Content-Type: application/json"\-d'{"name":"John", "age":30}'# 发送表单数据curl-XPOST https://api.example.com/login\-d"username=admin&password=123456"# 从文件读取数据curl-XPOST https://api.example.com/upload\-H"Content-Type: application/json"\-d@data.json
3.文件操作
# 下载文件curl-Ohttps://example.com/file.zip# 指定保存文件名curl-ocustom_name.zip https://example.com/file.zip# 上传文件curl-F"file=@localfile.txt"https://example.com/upload
4.认证和代理
# 基础认证curl-uusername:password https://api.example.com/protected# Bearer Token认证curl-H"Authorization: Bearer token123"https://api.example.com/api# 使用代理curl-xhttp://proxy.example.com:8080 https://example.com
5.高级功能
# 限制下载速度(10KB/s)curl--limit-rate 10k-Ohttps://example.com/largefile.iso# 跟随重定向curl-Lhttps://example.com/redirect# 保存Cookiecurl-ccookies.txt https://example.com/logincurl-bcookies.txt https://example.com/dashboard

📋 curl常用参数速查表

参数说明示例
-X指定HTTP方法-X POST
-H添加请求头-H "Content-Type: application/json"
-d发送数据-d "key=value"
-F发送表单数据-F "file=@filename"
-o输出到文件-o output.txt
-O使用远程文件名保存-O
-u用户认证-u user:pass
-L跟随重定向-L
-v详细输出-v
-I只显示头部-I

📥 wget 基础用法

🎯 核心功能

wget是一个非交互式网络下载器,主要用于文件下载,支持递归下载和断点续传。

🔧 常用命令示例

1.基本文件下载
# 下载单个文件wgethttps://example.com/file.zip# 指定保存目录和文件名wget-O/path/to/save/file.zip https://example.com/file.zip# 后台下载wget-bhttps://example.com/largefile.iso
2.递归下载(网站镜像)
# 递归下载整个网站wget-rhttps://example.com/# 限制递归深度wget-r-l2https://example.com/# 只下载特定类型文件wget-r-Apdf,doc https://example.com/docs/
3.断点续传
# 启用断点续传wget-chttps://example.com/largefile.iso# 限制重试次数wget-t3https://example.com/file.zip
4.批量下载
# 从文件读取URL列表wget-iurl_list.txt# 下载FTP目录wget-rftp://ftp.example.com/pub/
5.高级选项
# 限制下载速度wget--limit-rate=100k https://example.com/largefile.iso# 设置用户代理wget-U"Mozilla/5.0"https://example.com# 忽略证书错误wget--no-check-certificate https://example.com

📋 wget常用参数速查表

参数说明示例
-O指定输出文件名-O filename
-P指定保存目录-P /path/to/dir
-c断点续传-c
-r递归下载-r
-l递归深度限制-l 2
-A接受的文件类型-A "pdf,doc"
-R拒绝的文件类型-R "exe,zip"
-i从文件读取URL-i url_list.txt
-b后台下载-b
-q安静模式-q

📦 yum 基础用法

🎯 核心功能

yum是Yellowdog Updater Modified的缩写,是RHEL/CentOS系统的包管理工具,自动处理依赖关系。

🔧 常用命令示例

1.软件包管理
# 安装软件包yuminstallnginx# 安装多个软件包yuminstallnginx mysql-server php# 重新安装软件包yum reinstall nginx# 卸载软件包yum remove nginx
2.更新操作
# 更新所有软件包yum update# 更新指定软件包yum update nginx# 检查可更新软件包yum check-update
3.查询和信息
# 搜索软件包yum search nginx# 显示软件包信息yum info nginx# 列出已安装软件包yum list installed# 列出所有可用软件包yum list available
4.仓库管理
# 列出所有仓库yum repolist# 启用仓库yum-config-manager--enableepel# 禁用仓库yum-config-manager--disableepel# 添加新仓库yum-config-manager --add-repo http://example.com/repo.repo
5.清理和缓存
# 清理缓存yum clean all# 生成缓存yum makecache# 查看缓存统计yum stats
6.组操作
# 列出软件包组yum grouplist# 安装软件包组yum groupinstall"Development Tools"# 卸载软件包组yum groupremove"Development Tools"

📋 yum常用参数速查表

参数说明示例
install安装软件包yum install package
remove卸载软件包yum remove package
update更新软件包yum update
search搜索软件包yum search keyword
info显示软件包信息yum info package
list列出软件包yum list installed
clean清理缓存yum clean all
repolist列出仓库yum repolist

🔄 三者区别对比

📊 功能定位对比

特性curlwgetyum
主要用途数据传输文件下载包管理
协议支持HTTP, HTTPS, FTP, SFTP, SCP等HTTP, HTTPS, FTP主要HTTP/FTP
交互性交互式和非交互式主要非交互式交互式和非交互式
依赖处理自动处理依赖
递归功能有限强大
平台支持跨平台跨平台主要Linux (RHEL/CentOS)

🎯 使用场景对比

curl 适用场景
  • API开发和测试
  • 复杂的HTTP请求(POST、PUT、DELETE)
  • 需要自定义请求头和认证
  • 文件上传和表单提交
  • 代理和重定向处理
wget 适用场景
  • 批量文件下载
  • 网站镜像和备份
  • 大文件下载(支持断点续传)
  • 简单的HTTP/FTP下载
  • 后台下载任务
yum 适用场景
  • 软件包安装和更新
  • 系统依赖关系管理
  • 软件仓库管理
  • 系统维护和升级
  • 开发环境搭建

💡 技术特性对比

协议支持深度
curl: ★★★★★ (支持20+种协议) wget: ★★★★☆ (支持主要网络协议) yum: ★★☆☆☆ (主要用于HTTP/FTP仓库)
脚本友好性
curl: ★★★★★ (输出格式灵活,易于解析) wget: ★★★★☆ (日志输出详细) yum: ★★★☆☆ (主要面向交互式使用)
错误处理能力
curl: ★★★★★ (详细的错误信息和状态码) wget: ★★★★☆ (良好的重试机制) yum: ★★★★☆ (依赖关系错误处理)

🔧 实际使用示例对比

下载文件的三种方式
# 使用curl下载curl-Ohttps://example.com/file.zip# 使用wget下载wgethttps://example.com/file.zip# 使用yum下载(通过仓库)yuminstallpackage-name# 从配置的仓库下载安装
处理认证的对比
# curl认证方式多样curl-uuser:pass https://example.comcurl-H"Authorization: Bearer token"https://example.com# wget基础认证wget--user=user--password=pass https://example.com# yum仓库认证(通过配置文件)# 在/etc/yum.repos.d/中配置认证信息

🎯 选择指南

什么时候用curl?

  • ✅ 需要发送复杂的HTTP请求(POST、PUT等)
  • ✅ 需要自定义请求头和认证
  • ✅ 进行API测试和调试
  • ✅ 需要上传文件或发送表单数据

什么时候用wget?

  • ✅ 简单的文件下载任务
  • ✅ 需要递归下载整个网站
  • ✅ 大文件下载(需要断点续传)
  • ✅ 后台下载任务

什么时候用yum?

  • ✅ 安装和管理Linux软件包
  • ✅ 处理软件依赖关系
  • ✅ 系统更新和维护
  • ✅ 管理软件仓库

组合使用场景

# 使用curl测试API,然后用wget下载资源curl-XGET https://api.example.com/files/list|grep".zip"|wget-i-# 使用yum安装curl和wgetyuminstallcurlwget

💡 实用技巧

curl高级技巧

# 并行下载多个文件curl-Z-Ohttps://example.com/file1.zip-Ohttps://example.com/file2.zip# 设置超时时间curl--connect-timeout10--max-time30https://example.com# 使用Cookie文件curl-bcookies.txt-ccookies.txt https://example.com/login

wget高级技巧

# 限制带宽使用wget--limit-rate=500k https://example.com/largefile.iso# 定时下载wget-q-O- https://example.com/data.json|jq'.'# 结合jq处理JSON# 镜像网站并转换链接wget-mk-w2https://example.com/

yum高级技巧

# 只下载不安装yuminstall--downloadonly--downloaddir=/path/to/dir package-name# 查看事务历史yumhistory# 回滚操作yumhistoryundo10# 回滚第10次操作# 排除特定软件包更新yum update--exclude=kernel*

📚 总结

核心要点

  1. curl是功能最全面的数据传输工具,适合复杂的HTTP请求和API开发
  2. wget专注于文件下载,特别适合批量下载和网站镜像
  3. yum是专业的包管理工具,自动处理依赖关系,适合系统维护

学习建议

  • 初学者先掌握wget进行简单文件下载
  • 开发人员重点学习curl进行API测试
  • 系统管理员必须熟练掌握yum进行包管理

进阶方向

  • 学习curl与jq结合处理JSON数据
  • 掌握wget的递归下载和网站镜像技巧
  • 深入了解yum仓库配置和依赖关系管理

工具使用哲学:每个工具都有其独特的价值,关键在于根据具体需求选择最合适的工具。curl擅长灵活的数据传输,wget专注于稳定的文件下载,yum则专业于系统级的包管理。


📚 延伸学习

  • curl官方文档
  • wget官方文档
  • yum官方文档
http://www.jsqmd.com/news/708772/

相关文章:

  • 从复位同步到握手协议:VC Spyglass CDC功能验证(Functional Verification)实战指南
  • 图像质量评估与多模态RAG系统优化实践
  • 惠普游戏本性能释放终极指南:用OmenSuperHub解锁你的硬件潜力
  • 如何快速上手OpenBCI GUI:解锁脑机接口的终极开源工具
  • Winhance中文版:三步让你的Windows系统飞起来!
  • 2026 年 3 月一周内三巨头齐推交互式可视化技术,AI 从文字机器迈向表达工具!
  • 好写作AI的官网不是写作软件——它是你的“论文写作指挥台”
  • 别再让ArrayList在多线程里‘丢数据’了!手把手教你选对synchronizedList和CopyOnWriteArrayList
  • 移动端适配演进
  • 3步掌握ASMR音频自动下载:asmr-downloader终极使用指南
  • Akagi麻将AI助手:如何用AI实时分析提升你的麻将水平?
  • 专业级音频格式解密方案:Unlock Music 架构设计与完整实践指南
  • 毕业自救指南:拒绝无效内耗,用百考通AI打好论文“查重+降AIGC”组合拳
  • 工业语言:03 HMI 的四大核心功能:画面、报警、趋势、标签
  • 软件因果图管理中的根因分析者
  • AI技能编排框架opensite-skills:构建可复用智能工作流的开源工具箱
  • 告别僵硬动画!3ds Max 2024 CAT骨骼系统保姆级入门:从预设库到自定义多足生物
  • 好写作AI针对本科阶段的特殊需求,把论文写作的每一个环节,变成可操作、可复现的“标准动作”
  • 免费Mac桌面歌词神器LyricsX:解锁音乐沉浸新体验
  • U校园自动答题工具2025完全版:3分钟搞定网课学习
  • 两个AI,29分钟,从0到1造了个代码审查系统——然后它开始审查自己的代码
  • 题解:洛谷 B2114 配对碱基链
  • 网盘直链下载助手:八大平台一键解析,告别限速困扰的终极指南
  • 2026推荐:开源企业级AI智能体—替代OpenClaw的最佳选择 - 品牌2025
  • 3步修复损坏视频:使用Untrunc轻松恢复珍贵回忆
  • 2026年泉州留学中介十强揭晓,基于口碑和文书质量的全面评估 - 速递信息
  • 深度解析Fusion 360 3D打印螺纹优化方案:Fusion-360-FDM-threads实战指南
  • 题解:洛谷 B2123 字符串 p 型编码
  • 好写作AI的硕士毕业论文功能,不是在帮你“写”,而是在帮你“完成一次从研究者到学术表达者的能力跃迁”。
  • 从Wi-Fi 7时钟到5G基站:相位噪声如何悄悄影响你的系统误码率?