Có, đó là -c
lựa chọn.
--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.
Nếu tệp giống nhau, lần tải xuống thứ hai sẽ dừng lại.
$ 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.
Hãy cẩn thận (từ ý kiến của jofel)
Nếu tệp đã thay đổi trên máy chủ, -c
tùy chọn có thể cho kết quả không chính xác.
Với -c
, wget chỉ cần yêu cầu máy chủ cung cấp bất kỳ dữ liệu nào ngoài phần của tệp đã tải xuống, không có gì khác. Nó không kiểm tra nếu có bất kỳ thay đổi nào trong phần của tệp đã được tải xuống. Vì vậy, bạn có thể một tệp bị hỏng là hỗn hợp của tệp cũ và tệp mới.
Kiểm tra địa phương
Bạn có thể kiểm tra nó bằng cách chạy máy chủ web cục bộ đơn giản như sau (Cảm ơn câu trả lời của @roadmr ):
Mở một cửa sổ Terminal và gõ:
cd /path/to/parent-download-dir/
python -m SimpleHTTPServer
Bây giờ hãy mở Terminal khác và làm:
wget -c http://localhost:8000/filename-to-download
Lưu ý rằng đó filename-to-download
là tệp /path/to/parent-download-dir/
mà chúng tôi muốn tải xuống.
Bây giờ nếu bạn chạy lệnh wget nhiều lần bạn sẽ thấy:
The file is already fully retrieved; nothing to do.
Ok, bây giờ hãy vào /path/to/parent-download-dir/
thư mục và thêm một cái gì đó vào tệp nguồn, ví dụ nếu đó là một tệp văn bản, hãy thêm một dòng bổ sung đơn giản trong đó và lưu tệp. Bây giờ hãy thử với wget -c ...
. Tuyệt vời, bây giờ bạn sẽ thấy tệp tải xuống lại nhưng bạn đã tải nó trước đó.
Lý do: tại sao tải lại?
bởi vì kích thước của nó thay đổi thành kích thước lớn hơn tập tin tải xuống cũ và không có gì khác.