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下,可使用sudo systemctl restart NetworkManager命令

    2025年8月15日
    4800
  • linux如何安装ftp服务

    在Linux系统中,FTP(File Transfer Protocol)服务是一种常用的文件传输方式,适用于服务器间文件共享、用户文件上传下载等场景,本文将以主流的FTP服务器软件vsftpd(Very Secure FTP Daemon)为例,详细讲解在Linux系统中安装、配置FTP服务的完整流程,涵盖环……

    2025年9月30日
    4100
  • Linux系统如何开启zlib压缩功能?

    在Linux系统中,zlib是一个广泛使用的压缩库,它提供了数据压缩和解压缩的功能,被众多软件(如Python、nginx、curl等)依赖,若要在Linux系统中正确开启或启用zlib支持,通常涉及安装zlib库、验证安装状态、以及在编译软件时正确配置zlib路径等步骤,以下是详细操作指南:安装zlib库大多……

    2025年8月24日
    4800
  • 如何6个月零基础转行?系统学习+实战路径

    Linux系统核心能力(1-3个月)操作系统原理掌握进程管理(ps/top/kill)、内存机制(free/vmstat)、文件系统(ext4/XFS)理解系统启动流程:BIOS/UEFI → GRUB → kernel → systemd命令行高效操作必学工具:grep/awk/sed 文本处理三剑客,fin……

    2025年7月28日
    6400
  • Linux系统服务器远程登陆的具体操作步骤和方法是什么?

    Linux系统服务器的登录是运维工作的基础操作,掌握多种登录方式及安全配置不仅能提升效率,还能保障服务器安全,本文将详细介绍Linux服务器登录的常见方法、操作步骤及注意事项,SSH远程登录(最常用)SSH(Secure Shell)是目前Linux服务器远程登录的主流方式,通过加密传输数据,避免信息泄露,且支……

    2025年10月8日
    4000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信