是的,它是-c
选项。
--continue
Continue getting a partially-downloaded file. This is useful when you want to
finish up a download started by a previous instance of Wget, or by another
program.
如果文件相同,则第二次下载尝试将停止。
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
Saving to: ‘logo.png’
...
$ wget -c https://cdn.sstatic.net/askubuntu/img/logo.png
...
The file is already fully retrieved; nothing to do.
注意事项(来自jofel的评论)
如果服务器上的文件已更改,则该-c
选项可能会给出错误的结果。
使用-c
,wget只是询问服务器除已下载文件部分之外的任何数据,仅此而已。它不会检查已下载的文件部分是否有任何更改。因此,您可能会损坏旧文件和新文件的混合文件。
本地测试
您可以通过运行以下简单的本地Web服务器来对其进行测试(感谢@roadmr的answer):
打开终端窗口,然后键入:
cd /path/to/parent-download-dir/
python -m SimpleHTTPServer
现在打开另一个终端并执行:
wget -c http://localhost:8000/filename-to-download
请注意,这filename-to-download
是/path/to/parent-download-dir/
我们要下载的文件。
现在,如果您多次运行wget命令,您将看到:
The file is already fully retrieved; nothing to do.
好的,现在转到/path/to/parent-download-dir/
目录并在源文件中添加一些内容,例如,如果它是文本文件,则在其中添加一个简单的额外行并保存文件。现在尝试wget -c ...
。太好了,现在您将看到文件再次重新下载,但是您之前已经下载过。
原因:为什么要重新下载?
因为它的大小更改为大于旧下载文件的大小,仅此而已。