ใช่มันเป็น-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.
Caveats (จากความคิดเห็นของ jofel)
หากไฟล์มีการเปลี่ยนแปลงบนเซิร์ฟเวอร์-c
ตัวเลือกสามารถให้ผลลัพธ์ที่ไม่ถูกต้อง
ด้วย-c
wget เพียงแค่ขอให้เซิร์ฟเวอร์สำหรับข้อมูลใด ๆ นอกเหนือจากส่วนหนึ่งของไฟล์ที่ดาวน์โหลดมาแล้วไม่มีอะไรอื่น ไม่ได้ตรวจสอบว่ามีการเปลี่ยนแปลงในส่วนของไฟล์ที่ดาวน์โหลดมาแล้วหรือไม่ ดังนั้นคุณสามารถไฟล์ที่เสียหายซึ่งเป็นส่วนผสมของไฟล์เก่าและใหม่
การทดสอบในท้องถิ่น
คุณสามารถทดสอบได้โดยใช้เว็บเซิร์ฟเวอร์ในพื้นที่แบบง่าย ๆ ดังต่อไปนี้ (ขอบคุณคำตอบของ@roadmr ):
เปิดหน้าต่างเทอร์มินัลแล้วพิมพ์:
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 ...
ตอนนี้ลองกับ เยี่ยมมากตอนนี้คุณจะเห็นไฟล์ดาวน์โหลดอีกครั้ง แต่คุณเคยดาวน์โหลดมาก่อนแล้ว
เหตุผล: ทำไมต้องดาวน์โหลดซ้ำ
เพราะขนาดของมันเปลี่ยนเป็นขนาดใหญ่กว่าไฟล์ที่ดาวน์โหลดมาเก่าและไม่มีอะไรอื่น