wget
命令详解
wget
是一个在命令行中使用的工具,它用于从网络上下载文件。这个工具支持多种协议,包括 HTTP、HTTPS 和 FTP,并且提供了丰富的选项来控制下载过程。wget
的强大之处在于它的非交互性,这意味着它可以在用户没有登录的情况下运行,非常适合自动化脚本使用。以下是 wget
命令的一些基本用法和高级功能。
基本语法
wget [选项] [URL]
常用选项
- -O, --output-document=FILE:指定输出文件名。
- -P, --directory-prefix=PREFIX:将所有文件保存到目录 PREFIX/…。
- -c, --continue:继续下载部分完成的文件(断点续传)。
- -b, --background:启动后转入后台执行。
- -t, --tries=NUMBER:设置最大重试次数(0 表示无限制)。
- -w, --wait=SECONDS:两次尝试之间等待 SECONDS 秒。
- -q, --quiet:静默模式,不显示进度条等信息。
- -v, --verbose:冗长模式,增加输出信息。
- -r, --recursive:递归下载,下载页面中的链接。
- -l, --level=NUMBER:递归的最大深度。
- -nd, --no-directories:不创建目录结构,所有文件都下载到当前目录。
- -np, --no-parent:不向上级目录递归。
- -e, --execute=COMMAND:执行
.wgetrc
格式的命令。 - –limit-rate=RATE:限制下载速率。
- -S, --server-response:打印服务器响应。
- -U, --user-agent=AGENT:设定 User-Agent 字符串。
- -i, --input-file=FILE:从文件中读取 URL 列表进行下载。
- -F, --force-html:强制将输入文件视为 HTML 文件。
- -K, --convert-links:下载后转换成本地链接。
- -N, --timestamping:只下载比本地文件新的文件。
- -nc, --no-clobber:不要覆盖存在的文件。
- -o, --output-file=LOG:将日志写入 LOG 文件。
- -a, --append-output=LOG:追加日志到 LOG 文件。
- -d, --debug:打印调试输出。
- -h, --help:显示帮助信息。
- -V, --version:显示版本信息。
示例
-
下载单个文件
下载指定 URL 的文件:wget http://example.com/file.zip
-
下载并重命名文件
使用-O
选项指定不同的文件名:wget -O myfile.zip http://example.com/file.zip
-
继续下载未完成的文件
如果下载中断,可以使用-c
选项继续下载:wget -c http://example.com/largefile.iso
-
下载并保存到特定目录
使用-P
选项指定下载文件的目录:wget -P /path/to/save http://example.com/file.zip
-
后台下载并记录日志
使用-b
选项在后台下载,并使用-o
选项记录日志:wget -b -o download.log http://example.com/file.zip
-
递归下载整个网站
使用-r
选项递归下载页面中的链接:wget --recursive --no-parent http://example.com
-
限制下载速率
使用--limit-rate
选项限制下载速度:wget --limit-rate=200k http://example.com/largefile.iso
-
使用代理服务器
设置代理服务器以通过代理下载文件:wget -Y on -e use_proxy=yes -e http_proxy=http://proxy.example.com:8080 http://example.com/file.zip
-
下载多个文件
将需要下载的 URL 列表保存到urls.txt
文件中,然后使用-i
选项:wget -i urls.txt
-
仅下载新文件
使用-N
选项只下载比本地文件更新的文件:wget -N http://example.com/file.zip
-
下载并转换链接
使用-K
选项下载后转换成本地链接:wget --convert-links --adjust-extension --page-requisites --no-parent http://example.com
-
设置 User-Agent
使用--user-agent
选项模拟其他浏览器或自定义 User-Agent:wget --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3" http://example.com
-
测试下载链接
使用--spider
选项检查链接是否有效,但不实际下载文件:wget --spider http://example.com/file.zip
-
过滤下载文件类型
使用--accept
或--reject
选项来接受或拒绝特定类型的文件:wget --accept=jpg,jpeg,png http://example.com wget --reject=gif http://example.com
-
镜像网站
使用--mirror
选项下载整个网站并保持目录结构:wget --mirror -p --convert-links -P ./LOCAL http://example.com
注意事项
- 权限:某些网站可能有访问控制,需要认证才能下载文件。这时可以使用
--http-user
和--http-password
选项提供用户名和密码。 - 合法性和道德性:确保有权下载和使用这些文件,并遵守相关法律法规。
- 资源消耗:大量下载可能会对服务器造成负担,建议合理安排下载任务。