Skip to content

wget 命令:网络下载工具

1. 命令简介

wget 是一个从网络上下载文件的工具。它支持 HTTP、HTTPS 和 FTP 协议,可以在命令行中方便地下载文件。wget 非常灵活,支持递归下载、后台下载、断点续传等功能。

2. 基本语法

bash
wget [选项] [URL]

3. 常用选项

  • -O:指定下载文件的名称
  • -c:断点续传
  • -b:后台下载
  • -r:递归下载
  • -np:不追溯父目录
  • -P:指定下载目录
  • --limit-rate:限制下载速度
  • -U:设置用户代理字符串

4. 基础使用示例

  1. 下载单个文件:

    bash
    wget https://example.com/file.zip
  2. 指定下载文件名:

    bash
    wget -O output.zip https://example.com/file.zip
  3. 断点续传:

    bash
    wget -c https://example.com/large_file.iso
  4. 后台下载:

    bash
    wget -b https://example.com/file.zip

5. 进阶使用技巧

  1. 递归下载整个网站:

    bash
    wget -r -np -k https://example.com/
  2. 限制下载速度:

    bash
    wget --limit-rate=200k https://example.com/large_file.iso
  3. 使用 FTP 下载:

    bash
    wget ftp://ftp.example.com/files/
  4. 批量下载(从文件中读取 URL):

    bash
    wget -i url_list.txt

6. 实用示例

  1. 下载并保存到指定目录:

    bash
    wget -P /path/to/directory https://example.com/file.zip
  2. 镜像整个网站:

    bash
    wget -m -k -K -E https://example.com/
  3. 只下载特定类型的文件:

    bash
    wget -r -A .pdf https://example.com/docs/
  4. 使用认证下载:

    bash
    wget --user=username --password=password https://example.com/secure/file.zip

7. 注意事项

  • 使用 -r 递归下载时要小心,可能会下载大量不需要的文件。
  • 某些网站可能会限制或禁止使用 wget 下载。
  • 下载大文件时,最好使用 -c 选项以支持断点续传。

8. 相关命令

  • curl:另一个常用的 URL 传输工具
  • axel:多线程下载工具
  • aria2:支持多协议、多源的下载工具
  • scp:通过 SSH 安全复制文件

9. 技巧与建议

  1. 使用 --spider 选项检查链接是否有效:

    bash
    wget --spider -S https://example.com/file.zip
  2. 创建下载日志:

    bash
    wget -o download.log https://example.com/file.zip
  3. 使用自定义 User-Agent:

    bash
    wget -U "Mozilla/5.0" https://example.com/file.zip
  4. 在 cron 作业中使用 wget 定期下载文件:

    bash
    0 2 * * * wget -O /path/to/save/file.zip https://example.com/daily_update.zip

wget 是一个强大而灵活的命令行下载工具。它不仅可以下载单个文件,还可以用于复杂的网站镜像和批量下载任务。对于需要频繁从网络获取资源的用户和系统管理员来说,wget 是一个必不可少的工具。熟练使用 wget 可以大大提高文件下载和网络资源获取的效率。