linux如何下载多个文件
linux如何下载多个文件详细介绍
在 Linux 中下载多个文件可以通过多种命令行工具实现,以下是几种常用方法:
1. 使用 wget 批量下载
wget 是 Linux 下常用的下载工具,支持批量下载多个文件或从文件中读取下载链接。
场景 1:直接指定多个 URL
如果已知多个文件的下载链接,可直接在命令中列出所有 URL:
bash
示例:
bash
https://example.com/file1.zip https://example.com/file2.tar.gz
场景 2:从文件中读取 URL 列表
如果下载链接存储在文本文件(每行一个 URL)中,使用 --input-file 选项:
bash
--input-fileurls.txt
步骤:
- 创建文本文件
urls.txt,内容如下:plaintexthttps://example.com/file1.txthttps://example.com/file2.jpg
https://example.com/file3.pdf
- 执行下载:bash
--input-fileurls.txt
场景 3:下载匹配通配符的文件
如果文件 URL 有规律(如文件名按序号排列),可使用通配符 *(需结合 --force-html 或 --mirror):
bash
--force-html
或更通用的写法(适用于支持大括号扩展的 shell,如 bash):
bash
https://example.com/files/file_,5,7,9.txt
2. 使用 curl 批量下载
curl 也支持下载多个文件,通过 -O(保留文件名)或 -o(指定文件名)选项实现。
直接指定多个 URL
bash
简化写法(重复 -O 可省略,curl 会自动为每个 URL 应用):
bash
从文件中读取 URL 并下载
结合循环语句(适用于复杂场景):
bash
url"
urls.txt
3. 使用并行下载工具 axel
axel 支持多线程下载,可加速大文件或多个文件的下载(需先安装:sudo apt install axel 或 yum install axel)。
基本用法
bash
axel
从文件读取 URL
bash
axel --input-fileurls.txt
4. 使用循环语句批量下载(灵活场景)
如果需要自定义逻辑(如添加认证、处理不同路径),可通过 shell 循环实现:
bash
"
总结
- 简单多 URL 下载:直接用
wget或curl列出所有链接。 - 文件列表下载:使用
wget --input-file或结合循环读取文本文件。 - 并行加速:推荐
axel,适合大文件或网络不稳定场景。 - 复杂逻辑:通过 shell 循环自定义下载过程(如添加认证头、错误处理等)。
根据具体场景选择合适的工具即可高效完成批量下载任务。