-
Linux wget เป็นเครื่องมือสำหรับการดาวน์โหลดไฟล์ซึ่งใช้ในบรรทัดคำสั่ง มันเป็นเครื่องมือสำคัญสำหรับผู้ใช้ Linux โดยเฉพาะอย่างยิ่งสำหรับผู้ดูแลระบบเครือข่ายที่มักจะต้องดาวน์โหลดซอฟต์แวร์บางตัวหรือกู้คืนข้อมูลสำรองจากเซิร์ฟเวอร์ระยะไกลไปยังเซิร์ฟเวอร์ท้องถิ่น หากเราใช้โฮสต์เสมือนเพื่อจัดการธุรกรรมดังกล่าว เราจะสามารถดาวน์โหลดได้จากเซิร์ฟเวอร์ระยะไกลไปยังดิสก์คอมพิวเตอร์ของเราเท่านั้น จากนั้นใช้เครื่องมือ ftp เพื่ออัปโหลดไปยังเซิร์ฟเวอร์ นี่เป็นการเสียเวลาและพลังงาน และคุณไม่สามารถทำอะไรกับมันได้ เมื่อพูดถึง Linux VPS สามารถดาวน์โหลดไปยังเซิร์ฟเวอร์ได้โดยตรงโดยไม่ต้องผ่านขั้นตอนการอัพโหลด เครื่องมือ wget มีขนาดเล็ก แต่มีฟังก์ชั่นครบถ้วน รองรับฟังก์ชั่นการดาวน์โหลดเบรกพอยต์ รองรับวิธีการดาวน์โหลด FTP และ HTTP รองรับพร็อกซีเซิร์ฟเวอร์ และสะดวกและง่ายต่อการตั้งค่า ด้านล่างนี้เราจะอธิบายวิธีใช้ wget ในรูปแบบของตัวอย่าง
1. ใช้ wget เพื่อดาวน์โหลดไฟล์เดียว
ตัวอย่างต่อไปนี้ดาวน์โหลดไฟล์จากอินเทอร์เน็ตและบันทึกลงในไดเร็กทอรีปัจจุบัน
ไปที่ http://cn.WordPRess.org/wordpress-3.1-zh_CN.zip
ในระหว่างขั้นตอนการดาวน์โหลด แถบความคืบหน้าจะปรากฏขึ้น รวมถึง (เปอร์เซ็นต์การดาวน์โหลดเสร็จสิ้น จำนวนไบต์ที่ดาวน์โหลด ความเร็วในการดาวน์โหลดปัจจุบัน เวลาดาวน์โหลดที่เหลือ)
2. ใช้ wget -O เพื่อดาวน์โหลดและบันทึกด้วยชื่อไฟล์อื่น
ตามค่าเริ่มต้น wget จะใช้อักขระตัวสุดท้ายหลัง "/" ในคำสั่ง สำหรับการดาวน์โหลดลิงก์แบบไดนามิก ชื่อไฟล์มักจะไม่ถูกต้อง ข้อผิดพลาด: ตัวอย่างต่อไปนี้จะดาวน์โหลดไฟล์และบันทึกด้วยชื่อ download.php?id=1080
เข้า http://www.zhumaohai.com/download?id=1
แม้ว่าไฟล์ที่ดาวน์โหลดมาจะอยู่ในรูปแบบ zip แต่ก็ยังลงท้ายด้วยคำสั่ง download.php?id=1080 ถูกต้อง: เพื่อแก้ไขปัญหานี้ เราสามารถใช้พารามิเตอร์ -O เพื่อระบุชื่อไฟล์:
wget -O wordpress.zip http://www.zhumaohai.com/download.php?id=1080
3. ใช้ wget --limit -rate เพื่อจำกัดความเร็วในการดาวน์โหลด
เมื่อคุณดำเนินการ wget มันจะครอบครองการดาวน์โหลดแบนด์วิธที่เป็นไปได้ทั้งหมดตามค่าเริ่มต้น แต่เมื่อคุณต้องการดาวน์โหลดไฟล์ขนาดใหญ่และจำเป็นต้องดาวน์โหลดไฟล์อื่นๆ ด้วย จำเป็นต้องจำกัดความเร็ว
wget --limit-rate=300k http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
4. ใช้ wget -c เพื่อดำเนินการอัปโหลดต่อจากเบรกพอยต์
ใช้ wget -c เพื่อรีสตาร์ทการดาวน์โหลดไฟล์ที่ถูกขัดจังหวะ:
wget -c http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
จะมีประโยชน์มากเมื่อเราดาวน์โหลดไฟล์ขนาดใหญ่ และไฟล์ถูกขัดจังหวะกะทันหันเนื่องจากเครือข่ายและสาเหตุอื่นๆ เราสามารถดาวน์โหลดต่อแทนการดาวน์โหลดไฟล์ซ้ำได้ คุณสามารถใช้พารามิเตอร์ -c เมื่อคุณต้องการดาวน์โหลดต่อโดยขัดจังหวะ
5. ใช้การดาวน์โหลดพื้นหลัง wget -b
เมื่อดาวน์โหลดไฟล์ขนาดใหญ่มาก เราสามารถใช้พารามิเตอร์ -b สำหรับการดาวน์โหลดแบบเบื้องหลังได้
wget -b http://cn.wordpress.org/wordpress-3.1-zh_CN.zip
ต่อเนื่องในเบื้องหลัง ปี 1840
ผลลัพธ์จะถูกเขียนไปที่ `wget-log'
คุณสามารถใช้คำสั่งต่อไปนี้เพื่อตรวจสอบความคืบหน้าในการดาวน์โหลด
tail -f wget-log
6. ดาวน์โหลดชื่อตัวแทนปลอมตัว
เว็บไซต์บางแห่งสามารถปฏิเสธคำขอดาวน์โหลดของคุณได้โดยการตัดสินว่าชื่อพรอกซีไม่ใช่เบราว์เซอร์ แต่คุณสามารถปลอมแปลงมันได้โดยใช้พารามิเตอร์ --user-agent
wget --user-agent="Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML เช่น Gecko) Chrome/10.0.648.204 Safari/534.16" ลิงก์ดาวน์โหลด
7. ใช้ wget --spider เพื่อทดสอบลิงค์ดาวน์โหลด
เมื่อคุณวางแผนที่จะดำเนินการดาวน์โหลดตามกำหนดเวลา คุณควรทดสอบว่าลิงค์ดาวน์โหลดนั้นถูกต้องตามเวลาที่กำหนดหรือไม่ เราสามารถเพิ่มพารามิเตอร์ --spider เพื่อตรวจสอบได้
wget --spider URL
หากลิงค์ดาวน์โหลดถูกต้องก็จะแสดงขึ้นมา
wget --spider URL
เปิดใช้งานโหมดสไปเดอร์แล้ว ตรวจสอบว่ามีไฟล์ระยะไกลอยู่หรือไม่
ส่งคำขอ HTTP แล้ว กำลังรอการตอบกลับ 200 ตกลง ความยาว: ไม่ได้ระบุ [ข้อความ/html] มีไฟล์ระยะไกลและอาจมีลิงก์เพิ่มเติม แต่การเรียกซ้ำถูกปิดใช้งาน -- ไม่สามารถเรียกข้อมูลได้
เพื่อให้แน่ใจว่าการดาวน์โหลดจะดำเนินการตามเวลาที่กำหนด แต่หากคุณให้ลิงก์ผิด ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้น
wget --spider url
เปิดใช้งานโหมดสไปเดอร์แล้ว
ตรวจสอบว่ามีการส่งคำขอ HTTP ระยะไกลหรือไม่ กำลังรอการตอบกลับ - 404 ไม่พบไฟล์ระยะไกล - ลิงก์เสีย! - -
คุณสามารถใช้พารามิเตอร์สไปเดอร์ในสถานการณ์ต่อไปนี้:
7.1 ตรวจสอบก่อนกำหนดการดาวน์โหลด
7.2 ตรวจสอบว่าเว็บไซต์สามารถใช้งานได้เป็นระยะหรือไม่
7.3 ตรวจสอบลิงก์ที่ใช้งานไม่ได้บนหน้าเว็บไซต์
8. ใช้ wget --tries เพื่อเพิ่มจำนวนการลองใหม่
นอกจากนี้ยังอาจล้มเหลวหากมีปัญหาเครือข่ายหรือหากคุณดาวน์โหลดไฟล์ขนาดใหญ่ ตามค่าเริ่มต้น จะลองอีกครั้ง 20 ครั้งเพื่อเชื่อมต่อและดาวน์โหลดไฟล์ หากจำเป็น คุณสามารถใช้ --tries เพื่อเพิ่มจำนวนการลองใหม่
wget --tries=40 URL
9. ใช้ wget -i เพื่อดาวน์โหลดไฟล์หลายไฟล์
ขั้นแรก ให้บันทึกไฟล์ลิงก์ดาวน์โหลด
แมว> filelist.txt url1 url2 url3 url4
จากนั้นใช้ไฟล์นี้และพารามิเตอร์ -i เพื่อดาวน์โหลด
wget -i filelist.txt
10. ใช้ wget --mirror เพื่อทำมิเรอร์เว็บไซต์
ตัวอย่างด้านล่างจะดาวน์โหลดเว็บไซต์ทั้งหมดลงในเครื่อง
wget --mirror -p --convert-links -P ./LOCAL URL
--miror: ดาวน์โหลดมิเรอร์เปิดบัญชี
-p: ดาวน์โหลดไฟล์ทั้งหมดสำหรับการแสดงหน้า html ปกติ
--convert-links: หลังจากดาวน์โหลดแล้ว ให้แปลงเป็นลิงก์ในเครื่อง
-P ./LOCAL: บันทึกไฟล์และไดเร็กทอรีทั้งหมดไปยังไดเร็กทอรีที่ระบุในเครื่อง
11. ใช้ wget --reject เพื่อกรองการดาวน์โหลดในรูปแบบที่ระบุ
คุณต้องการดาวน์โหลดเว็บไซต์ แต่ไม่ต้องการดาวน์โหลดรูปภาพ คุณสามารถใช้คำสั่งต่อไปนี้
wget --reject=gif url
12. ใช้ wget -o เพื่อเก็บข้อมูลการดาวน์โหลดไว้ในไฟล์บันทึก
หากคุณไม่ต้องการให้แสดงข้อมูลการดาวน์โหลดโดยตรงในเทอร์มินัล แต่แสดงเป็นไฟล์บันทึก คุณสามารถใช้คำสั่งต่อไปนี้:
wget -o download.log URL
13. ใช้ wget -Q เพื่อจำกัดขนาดไฟล์ดาวน์โหลดทั้งหมด
เมื่อไฟล์ที่คุณต้องการดาวน์โหลดมีขนาดเกิน 5M และออกจากการดาวน์โหลด คุณสามารถใช้คำสั่งต่อไปนี้:
wget -Q5m -i filelist.txt
หมายเหตุ: พารามิเตอร์นี้ใช้ไม่ได้กับการดาวน์โหลดไฟล์เดียว แต่สำหรับการดาวน์โหลดไฟล์แบบเรียกซ้ำเท่านั้น
14. ใช้ wget -r -A เพื่อดาวน์โหลดไฟล์รูปแบบที่ระบุ
คุณสมบัตินี้สามารถใช้ได้ในสถานการณ์ต่อไปนี้
ดาวน์โหลดภาพทั้งหมดจากเว็บไซต์
ดาวน์โหลดวิดีโอทั้งหมดจากเว็บไซต์
ดาวน์โหลดไฟล์ PDF ทั้งหมดของเว็บไซต์
URL wget -r -A.pdf
15. ใช้การดาวน์โหลด wget FTP
คุณสามารถใช้ wget เพื่อดาวน์โหลดลิงค์ ftp ให้เสร็จสิ้น ดาวน์โหลด ftp แบบไม่ระบุตัวตนโดยใช้ wget
รับ ftp-url
ดาวน์โหลด FTP โดยใช้การรับรองความถูกต้องชื่อผู้ใช้และรหัสผ่าน wget
wget --ftp-user=USERNAME --ftp-password=URL รหัสผ่าน
แหล่งที่มาของบทความ: http://www.zhumaohai.com/ โปรดเก็บลิขสิทธิ์ในการตีพิมพ์ซ้ำ
ขอขอบคุณ Zhu Maohai สำหรับการสนับสนุนของเขา