You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同时运行多个Wget命令实现批量并行下载?

多线程批量下载解决方案

你可以通过以下两种常用方式实现并行下载,无需修改原有list.txt结构:

方案1:使用xargs内置并行能力(系统默认自带,无需额外安装)

直接调用xargs的-P参数指定同时运行的任务数即可,示例命令:

cat list.txt | xargs -n 2 -P 10 wget -O

参数说明:

  • -n 2:每次读取2个参数(对应每行的URL和目标文件名)传递给wget
  • -P 10:同时运行10个下载进程,你可以根据自身带宽和目标服务器限制调整数值,建议不要超过20,避免IP被服务器临时封禁

如果你的文件名包含空格,需要提前把list.txt中的文件名用引号包裹,或者改用下面的GNU Parallel方案。

方案2:使用GNU Parallel(功能更灵活,适配复杂场景)

如果系统未预装,可以先通过对应包管理器安装(Debian/Ubuntu执行apt install parallel,macOS执行brew install parallel),之后运行以下命令:

parallel -j 10 --colsep ' ' wget {1} -O {2} :::: list.txt

参数说明:

  • -j 10:指定同时运行10个下载任务
  • --colsep ' ':指定空格作为列分隔符,自动将每行内容分配到{1}(URL)、{2}(目标文件名)两个占位符
  • 该方案天然支持带空格的文件名、断点续传扩展、下载进度全局统计等额外需求

额外优化建议

  • 并行数不要设置过高,超过带宽上限后新增进程不会提升下载速度,反而会因为连接竞争拉高下载失败率
  • 如果需要支持断点续传,可以给wget添加-c参数,下载中断后重新执行命令不会重复下载已完成的文件

内容的提问来源于stack exchange,提问作者M9A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:09:04