wget - 递归下载神器
wget 是一个非交互式的网络文件下载工具,非常适合在脚本中使用,它的名字来源于 "web get"。

安装 wget
如果你的系统上没有 wget(通常预装了),可以使用 apt 安装:
sudo apt update sudo apt install wget
基本用法
下载单个文件 这是最简单的用法,直接提供文件的 URL 即可。
wget https://example.com/path/to/a/file.zip
- 特点:下载的文件名与服务器上的文件名相同。
指定保存的文件名
使用 -O (大写) 选项可以指定下载后保存的文件名。
wget -O my_new_name.zip https://example.com/path/to/a/file.zip
- 特点:将下载的文件保存为
my_new_name.zip,而不是原始文件名。
断点续传
如果下载因网络中断而失败,可以使用 -c 选项从上次中断的地方继续下载。

wget -c https://example.com/path/to/a/large_file.iso
- 特点:非常实用,特别是下载大文件时,如果文件已经完整下载,
wget会提示文件已存在,不会重新下载。
后台下载
使用 -b 选项,wget 会在后台运行,并将日志输出到 wget-log 文件中。
wget -b https://example.com/path/to/a/big_file.tar.gz
- 特点:你可以关闭终端,下载任务仍在后台继续,可以通过
tail -f wget-log查看下载进度。
从列表批量下载
如果你有一个包含多个 URL 的文本文件(每行一个 URL),可以使用 -i 选项批量下载。
首先创建一个 URL 列表文件,url_list.txt:
https://example.com/file1.zip
https://example.com/file2.pdf
https://example.com/file3.jpg
然后执行下载命令:
wget -i url_list.txt
curl - 多功能客户端
curl 是一个功能强大的命令行工具和库,用于传输数据,它支持 HTTP, HTTPS, FTP, FTPS, SCP, SFTP 等多种协议。curl 的优势在于其灵活性和对复杂交互的支持。

安装 curl
同样,curl 通常也预装了,如果没有:
sudo apt update sudo apt install curl
基本用法
下载单个文件
curl 默认会将下载的内容输出到标准输出(即你的终端屏幕),通常需要配合重定向符号 > 来保存到文件。
curl -o my_new_name.zip https://example.com/path/to/a/file.zip
- 特点:
-o(小写) 选项用于指定输出文件名,功能与wget -O类似。- 如果不使用
-o,下载的二进制文件会破坏终端的显示,需要输入reset命令来修复。
将输出显示在终端 如果你想下载一个文本文件(如 JSON, HTML, 配置文件)并直接查看其内容,可以使用 作为文件名。
curl - https://api.github.com/users/debian
- 特点:下载的内容会直接显示在终端,非常适合快速获取 API 响应或网页源码。
显示下载进度条
curl 默认会显示一个进度条,但下载完成后会清除,如果想在下载后保留进度信息,可以使用 选项。
curl -# -o file.zip https://example.com/file.zip
断点续传
curl 使用 -C - (注意 -C 后面有空格和 ) 来实现断点续传。
curl -C - -o file.zip https://example.com/file.zip
跟随重定向
有些 URL 会自动跳转到另一个地址。curl 默认会跟随重定向,如果你想禁用此行为,可以使用 -L 选项(--location)。
curl -L -o final_file.html http://short.link/abc123
apt - 下载 Debian 软件包
apt 是 Debian 及其衍生系统(如 Ubuntu)的软件包管理工具,它的主要用途是安装、更新和删除软件,但也可以用来下载 .deb 安装包本身,而不进行安装。
基本用法
下载一个软件包及其所有依赖
这是 apt 下载最强大的功能之一,它会分析软件包的依赖关系,并将所有需要的 .deb 文件都下载下来。
sudo apt install --download-only <package_name>
下载 htop:
sudo apt install --download-only htop
- 特点:下载的
.deb文件通常存放在/var/cache/apt/archives/目录下。
只下载指定的软件包(不下载依赖)
如果你只想下载单个 .deb 文件,不关心其依赖,可以使用 apt-get download。
apt-get download <package_name>
只下载 htop:
apt-get download htop
- 特点:这种方式更轻量,只下载指定的包,下载的文件会在当前目录下。
总结与对比
| 特性/命令 | wget |
curl |
apt |
|---|---|---|---|
| 主要用途 | 下载文件,特别是网站和批量文件 | 传输数据,支持多种协议,与API交互 | 软件包管理(安装、更新、下载) |
| 下载单个文件 | wget URL |
curl -o filename URL |
apt-get download pkg |
| 断点续传 | wget -c URL |
curl -C - -o filename URL |
不支持 |
| 后台下载 | wget -b URL |
需配合 nohup 或 & |
不支持 |
| 批量下载 | wget -i url_list.txt |
需要结合脚本(如 xargs) |
不支持 |
| 下载依赖 | 不支持 | 不支持 | sudo apt install --download-only pkg |
| 学习曲线 | 简单直观 | 灵活强大,选项较多 | 专为 Debian 系统设计 |
如何选择?
- 简单下载单个文件:
wget是最简单直接的选择。 - 下载并立即查看文本内容:
curl - URL。 - 需要断点续传或后台下载:
wget的-c和-b选项非常方便。 - 从列表下载多个文件:
wget -i是最方便的。 - 与网站 API 或需要复杂 HTTP 头交互:
curl是不二之选。 - 下载一个
.deb安装包及其所有依赖:必须使用apt install --download-only。
对于绝大多数日常下载任务,wget 和 curl 已经足够了,如果你在 Debian 系统上工作,apt 则是管理软件生态系统的核心工具。
