人工智能与机器人技术论坛

 找回密码
 立即注册
查看: 9|回复: 0
打印 上一主题 下一主题

Wget 网络文件下载工具命令

[复制链接]

134

主题

312

帖子

1553

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1553
跳转到指定楼层
楼主
发表于 前天 09:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
wget 是一个在 Linux、Unix、macOS(需安装)以及 Windows(需安装或使用 WSL)上广泛使用的命令行工具,主要用于从网络上非交互式地下载文件。
它的名字来源于 World Wide Web 和 Get。由于其稳定、支持断点续传、能递归下载整个网站等特性,它是服务器管理和脚本自动化中不可或缺的工具。
以下是 wget 的核心功能、常用命令及场景解析:
. 核心特点
非交互式:可以在后台运行,即使用户断开连接(如关闭终端),下载任务通常也能继续(配合 nohup 或 screen)。
支持多种协议:支持 HTTP, HTTPS, FTP。
断点续传:如果下载中断,可以使用 -c 参数从中断处继续下载,无需重新开始。
递归下载:可以镜像整个网站,下载页面中的所有链接资源。
自动转换链接:下载网页后,可以自动修改其中的链接指向本地文件,方便离线浏览。
. 常用命令速查
基础下载
bash

编辑



# 下载单个文件
wget https://example.com/file.zip

# 下载并指定文件名 (-O 代表 Output)
wget -O myname.zip https://example.com/file.zip
进阶功能(最常用)
bash

编辑



# 断点续传 (Continue)
# 如果下载了一半断了,再次运行此命令会接着下载
wget -c https://example.com/large_file.iso

# 后台下载 (Background)
# 下载进程会在后台运行,生成一个 wget-log 文件
wget -b https://example.com/big_file.tar.gz

# 限制下载速度 (Limit Rate)
# 避免占满带宽,例如限制为 500k
wget --limit-rate=500k https://example.com/video.mp4
批量与递归下载
bash

编辑



# 从文件中读取 URL 列表进行下载 (-i input)
# urls.txt 文件中每行一个网址
wget -i urls.txt

# 递归下载整个网站 (Recursive)
# 下载首页及其链接的所有页面,适合做网站镜像
wget -r https://example.com/

# 递归下载特定类型的文件 (例如只下载所有 .jpg 图片)
wget -r -l inf --no-parent -A .jpg https://example.com/images/
# -l inf: 无限层级
# --no-parent: 不追溯父目录
# -A .jpg: 只接受 jpg 后缀
模拟浏览器 (绕过某些限制)
有些服务器会拒绝没有 User-Agent 的请求(防止脚本抓取),可以伪装成浏览器:
bash

编辑



wget --user-agent="Mozilla/5.0" https://example.com/protected_file.zip
. 常见应用场景
表格
场景        命令示例        说明
下载大文件        wget -c [URL]        必须加 -c,防止网络波动导致前功尽弃。
服务器备份        wget -r -k [URL]        -k 会将下载后的网页链接转换为本地相对路径,方便离线查看。
批量下载        wget -i list.txt        适合需要下载成百上千个文件的场景。
测试网速        wget -O /dev/null [URL]        将下载内容丢弃,仅用于测试连接到某服务器的下载速度。
. wget vs curl
这是两个最容易混淆的工具,简单区别如下:
wget: 擅长下载文件。支持递归下载网站,默认直接保存文件到磁盘。语法相对简单直观。
curl: 擅长数据传输和API 调试。支持更多协议(SMTP, IMAP, MQTT 等),默认将内容输出到屏幕(标准输出),需要加 -O 才保存文件。更适合开发者在脚本中处理 HTTP 请求头、Cookie 等复杂交互。
口诀:下载文件用 wget,调试接口用 curl。
. 如何安装
Ubuntu/Debian: sudo apt install wget (通常预装)
CentOS/RHEL: sudo yum install wget
macOS: brew install wget (需先安装 Homebrew)
Windows:
推荐安装 WSL (Windows Subsystem for Linux) 直接使用。
或者下载第三方编译版(如 GnuWin32),并将其添加到系统环境变量 PATH 中。
如果你需要针对某个具体任务的 wget 命令(比如“如何下载整个百度网盘的分享链接”或“如何下载需要登录的网站”),请告诉我具体场景,我可以提供更精准的命令。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|AiRobotNews.com|人工智能与机器人技术论坛  

GMT+8, 2026-3-26 22:10 , Processed in 0.081215 second(s), 5 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表