Linux如何用wget/curl高效下载文件?

基础下载工具

wget – 全能下载器

  • 安装(若未预装):
    # Debian/Ubuntu
    sudo apt install wget
    # CentOS/RHEL
    sudo yum install wget
  • 基础用法
    wget https://example.com/file.zip  # 下载文件到当前目录
    wget -O custom_name.zip https://example.com/file.zip  # 重命名文件
  • 高级功能
    • 断点续传:wget -c https://example.com/large_file.iso
    • 后台下载:wget -b https://example.com/file.zip
    • 递归下载整个网站:wget -mk https://example.com

curl – 数据传输利器

  • 安装
    sudo apt install curl  # Debian/Ubuntu
    sudo yum install curl  # CentOS/RHEL
  • 基础用法
    curl -O https://example.com/file.txt        # 下载文件(保留原名)
    curl -o custom_file.txt https://example.com/file.txt  # 自定义文件名
  • 高级功能
    • 支持协议广泛(HTTP/HTTPS/FTP/SCP):
      curl -u user:pass ftp://example.com/file.zip  # FTP认证下载
    • 测试API响应:curl -I https://example.com(仅显示HTTP头)

高性能下载工具

aria2 – 多线程加速

  • 安装
    sudo apt install aria2   # Debian/Ubuntu
    sudo dnf install aria2   # Fedora
  • 多线程下载(显著提升速度):
    aria2c -x 16 https://example.com/large.iso  # 启用16线程
  • 断点续传与批量下载
    aria2c -c -i urls.txt    # 从urls.txt读取多个链接,支持续传

axel – 轻量级多线程

  • 安装
    sudo apt install axel  # Debian/Ubuntu
  • 基础用法
    axel -n 10 https://example.com/file.iso  # 10线程下载

场景化解决方案

  1. 下载受限资源(需Cookie/Header):

    wget --header="Authorization: Bearer TOKEN" https://api.example.com/data
    curl -H "User-Agent: Mozilla" -O https://example.com/restricted_file
  2. 镜像整站资源

    wget --mirror --convert-links --page-requisites https://example.com
  3. 从密码保护的FTP下载

    wget --ftp-user=USER --ftp-password=PASS ftp://example.com/file.zip

工具对比与选择建议

工具 优势 适用场景
wget 递归下载、断点续传、简单易用 网站镜像、基础下载任务
curl 协议支持广、API交互、灵活 调试API、复杂HTTP请求
aria2 多线程、磁力/BT支持、高效 大文件加速、批量下载
axel 轻量级多线程、资源占用低 替代wget/curl的简单加速场景

安全与最佳实践

  1. 验证文件完整性

    curl -O https://example.com/file.zip
    echo "expected_sha256sum *file.zip" | sha256sum -c -  # 校验SHA256
  2. 避免恶意链接

    • 优先使用HTTPS链接:wget https://...
    • 下载前检查源可信度(如官方源、GitHub Releases)。
  3. 限速防滥用

    wget --limit-rate=200k https://example.com/file.iso  # 限速200KB/s
    aria2c --max-download-limit=1M https://...           # 限速1MB/s

命令行下载是Linux高效操作的基石,掌握wgetcurl满足日常需求,aria2axel应对大文件加速,结合安全实践可确保稳定可靠,对于自动化脚本,推荐wgetcurl;下载大型数据优先选择aria2

引用说明

  • GNU Wget手册:https://www.gnu.org/software/wget/manual/
  • curl官方文档:https://curl.se/docs/
  • aria2参数详解:https://aria2.github.io/manual/en/html/
  • Linux man pages(终端输入 man wgetman curl 获取本地帮助)

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/7048.html

(0)
酷番叔酷番叔
上一篇 2025年7月12日 08:39
下一篇 2025年7月12日 09:07

相关推荐

  • Linux源码阅读如何入手?关键方法与避坑指南

    阅读Linux源码是深入理解操作系统原理、提升系统编程能力的有效途径,但内核代码庞大复杂(仅主线代码就超千万行),需遵循科学方法循序渐进,以下从准备工作、阅读顺序、工具使用、调试技巧等方面展开说明,帮助高效掌握内核源码阅读方法,阅读前的准备工作夯实基础知识Linux内核涉及操作系统、计算机体系结构、C语言等多领……

    2025年9月30日
    5100
  • 在Linux操作系统中,如何正确更改IP地址的方法步骤?

    在Linux系统中,更改IP地址是网络管理的基础操作,无论是临时调试还是永久配置,都需要掌握正确的方法,由于Linux发行版较多(如Ubuntu、CentOS、Debian等),且不同版本采用的配置工具存在差异,本文将综合介绍命令行和图形界面两种方式,涵盖临时与永久修改IP地址的详细步骤,并补充网关、DNS等关……

    2025年9月24日
    9400
  • 在Linux操作系统中,如何通过具体命令或程序耗尽磁盘IO性能?

    在Linux系统中,磁盘I/O是影响系统性能的关键因素之一,当磁盘I/O资源被过度消耗时,会导致系统响应缓慢、进程阻塞,甚至服务完全不可用,要理解如何耗尽磁盘I/O,需要从高并发读写操作、不当的I/O调度策略、文件系统特性、磁盘自身性能限制以及进程异常行为等多个维度进行分析,高并发读写操作:瞬间榨干I/O带宽磁……

    2025年10月2日
    5200
  • 如何查看已安装的GCC相关包?

    在Linux系统中卸载GCC(GNU Compiler Collection)需要谨慎操作,因为GCC是许多系统工具和应用程序的编译依赖,以下是详细步骤及注意事项,适用于不同发行版:卸载前的关键警告系统依赖风险:GCC是构建软件的核心工具,卸载可能导致系统组件(如内核模块、驱动)无法编译,除非你明确需要移除旧版……

    2025年7月4日
    11400
  • 如何正确查看Linux定时任务?

    查看定时任务的两种主要工具Linux系统通过 cron 和 at 管理定时任务:cron:处理周期性任务(如每天、每周),at:处理一次性任务(如2小时后执行),查看cron定时任务查看当前用户的cron任务crontab -l直接列出当前用户的所有定时任务,若显示 no crontab for [user……

    2025年6月30日
    11300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信