yum:基于 RPM 的软件包管理器,用于自动化安装、升级、卸载软件。
apt:Debian 系的软件包管理器,用于安装、升级、卸载
.deb
软件包。wget:命令行文件下载工具,支持 HTTP、HTTPS、FTP 等协议。
curl:命令行数据传输工具,功能更灵活,支持 REST API 调用、HTTP 头设置等。
yum、apt、wget、curl
在使用 Linux 服务器联网下载内容的过程中,会经常遇到这几个命令:yum
、apt
、wget
、curl
。因此对这几个常见命令做一个总结。
命令 | 概述 | 适用服务器 | 常用命令 | 原理 |
---|---|---|---|---|
yum | 基于 RPM 的软件包管理器,用于自动化安装、升级、卸载软件 | RHEL、CentOS、Rocky Linux、AlmaLinux 等基于 RPM 的发行版 | - yum install nginx (安装) - yum update nginx (更新) - yum remove nginx (卸载) - yum list installed (查看已安装包) | 通过读取配置文件中的仓库地址(/etc/yum.repos.d/ ),自动解析软件依赖,下载 .rpm 包并安装 |
apt | Debian 系的软件包管理器,用于安装、升级、卸载 .deb 软件包 | Ubuntu、Debian、Kali、Linux Mint 等基于 Debian 的系统 | - apt update (更新软件源索引) - apt install nginx (安装) - apt upgrade nginx (更新) - apt remove nginx (卸载) | 从 /etc/apt/sources.list 中读取软件源,通过 .deb 包管理器安装并自动处理依赖 |
wget | 命令行文件下载工具,支持 HTTP、HTTPS、FTP 等协议 | 所有 Linux 系统均可使用 | - wget http://example.com/file.txt - wget -O newname.txt http://example.com/file.txt (将下载内容保存为指定的文件名) - wget -o log.txt http://example.com/file.zip (将 wget 的运行日志输出(日志文件,不是下载内容)保存到指定的文件中) - wget -c (断点续传) | 通过指定 URL 发起请求,获取服务器响应的数据流并保存为本地文件。适用于静态文件下载 |
curl | 命令行数据传输工具,功能更灵活,支持 REST API 调用、HTTP 头设置等 | 所有 Linux 系统均可使用 | - curl http://example.com (打印网页内容) - curl -O http://example.com/file.txt (保存文件) - curl -o myfile.txt http://example.com/file.txt (保存文件为指定文件名) - curl -I http://example.com (仅获取 HTTP 响应头部,不下载正文内容) - curl -X POST http://api.example.com -d "key=val" (使用 POST 方式传值,-d 后面跟请求体内容) | 底层使用 libcurl 实现,支持多种协议(HTTP、FTP、SFTP 等),可精细控制请求方式、头部、认证信息等,适合用于自动化任务和接口测试 |