Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

คู่มือคำสั่ง Linux wget [พร้อมตัวอย่าง]

หากคุณทำตามบทช่วยสอนกระจกวิเศษ คุณจะเห็น wget คำสั่งที่ใช้ในการดาวน์โหลดไฟล์บางไฟล์

บทแนะนำนี้จะอธิบายวิธีใช้ wget , เครื่องมือบรรทัดคำสั่งสำหรับการดาวน์โหลดไฟล์ (รับ) ไฟล์จากเว็บ ไม่ว่าจะเป็นผ่าน HTTP, HTTPS, FTP หรือ FTPS

ใช้เพื่อดาวน์โหลดไฟล์จากอินเทอร์เน็ตจาก Linux Shell เรียกใช้จากสคริปต์ Bash – เรียบง่ายและใช้งานได้หลากหลาย และไม่ต้องมีการรบกวนจากผู้ใช้เมื่อเริ่มต้นเพื่อให้สามารถทำงานในพื้นหลังได้

ไวยากรณ์

wget [OPTIONS]... [ URLS ]...

โปรดทราบว่า:

  • ตัวเลือก เป็นรายการตัวเลือกที่สามารถส่งผ่านไปยังแอปพลิเคชันได้จากตารางด้านล่าง โดยคั่นด้วยการเว้นวรรค
  • URLS เป็นรายการ URL ที่จะดาวน์โหลด โดยคั่นด้วยช่องว่าง

นี่คือ wget ตัวเลือกโดยตรงจากเอกสาร:

ตัวเลือกทั่วไป
-o logfile บันทึกข้อความทั้งหมดไปที่ logfile . โดยปกติข้อความจะถูกรายงานไปยังข้อผิดพลาดมาตรฐาน
-a logfile ต่อท้าย logfile . สิ่งนี้เหมือนกับ -o เพียงต่อท้ายไฟล์บันทึกแทนที่จะเขียนทับไฟล์บันทึกเก่า หากไม่มีไฟล์บันทึก ระบบจะสร้างไฟล์ใหม่
-q ปิดเอาต์พุตของ Wget
-i ไฟล์ อ่าน URL จากภายในหรือภายนอก ไฟล์ . หากใช้ฟังก์ชันนี้ ไม่จำเป็นต้องมี URL ในบรรทัดคำสั่ง
-t หมายเลข กำหนดจำนวนครั้งในการลองใหม่เป็น หมายเลข .
-c รับไฟล์ที่ดาวน์โหลดบางส่วนต่อ
-T วินาที ตั้งค่าระยะหมดเวลาของเครือข่ายเป็น วินาที วินาที.
-w วินาที รอตามจำนวนที่ระบุ วินาที ระหว่างการสืบค้นข้อมูล
–user=user ตั้งค่าชื่อผู้ใช้การตรวจสอบสิทธิ์ HTTP หรือ FTP
–รหัสผ่าน=รหัสผ่าน ตั้งรหัสผ่านการตรวจสอบ HTTP หรือ FTP
–post-data=string สร้างคำขอ POST แทน GET และส่งข้อมูล สตริง ควรอยู่ในรูปแบบ “key1=value1&key2=value2”
-r เปิดการเรียกซ้ำ
-l ความลึก ระบุระดับความลึกสูงสุดของการเรียกซ้ำ ความลึกสูงสุดเริ่มต้นคือ 5.
-m เปิดตัวเลือกที่เหมาะสมสำหรับการมิเรอร์ ตัวเลือกนี้จะเปิดการเรียกซ้ำและการประทับเวลา ตั้งค่าความลึกของการเรียกซ้ำที่ไม่สิ้นสุด และเก็บรายการไดเรกทอรี FTP ไว้
-p ตัวเลือกนี้ทำให้ Wget ดาวน์โหลดไฟล์ทั้งหมดที่จำเป็นในการแสดงหน้า HTML ที่กำหนดอย่างถูกต้อง ซึ่งรวมถึงสิ่งต่างๆ เช่น รูปภาพ เสียง และสไตล์ชีตที่ใส่ในบรรทัด

ตัวอย่าง

ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ HTTPS

ดาวน์โหลดไฟล์เดียว การใช้งานพื้นฐาน:

wget https://www.example.com/file.zip

ดาวน์โหลดไฟล์ต่อ

หากการดาวน์โหลดเสร็จสิ้นเพียงบางส่วน ให้ดำเนินการต่อ/ดาวน์โหลดต่อด้วยปุ่ม -c ตัวเลือก:

wget -c https://www.example.com/file.zip

ดาวน์โหลดจากรายการไฟล์ ต่อท้ายบันทึก

หากคุณมีไฟล์ข้อความที่มีรายการ URL ที่จะดาวน์โหลด คุณสามารถส่งต่อไปยัง wget ได้โดยตรงและเขียนบันทึกของผลลัพธ์สำหรับการตรวจสอบในภายหลัง:

wget -a log.txt -i url-list.txt

คุณยังสามารถใช้ -o เพื่อเขียนไฟล์บันทึก และมันจะเขียนทับแทนที่จะผนวกไฟล์บันทึกที่มีอยู่ถ้ามีอยู่แล้ว

ดาวน์โหลดไฟล์ ลองใหม่ 5 ครั้ง แบบเงียบๆ

ลองดาวน์โหลดไฟล์อีกครั้งและไม่พิมพ์ความคืบหน้าไปยังเทอร์มินัล:

wget -t 5 -q https://www.example.com/file.zip

ดาวน์โหลดจากรายการไฟล์ รอ 6 วินาทีระหว่างการดาวน์โหลดแต่ละครั้ง โดยหมดเวลา 12 วินาที

รอระหว่างการดาวน์โหลดเพื่อลดการโหลดของเซิร์ฟเวอร์ และยกเลิกหากเซิร์ฟเวอร์ไม่ตอบสนองภายใน 12 วินาที:

wget -w 6 -T 12 -i url-list.txt

ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์ FTPS ซึ่งต้องใช้ชื่อผู้ใช้และรหัสผ่าน

ดาวน์โหลดจากเซิร์ฟเวอร์ FTPS ด้วยชื่อผู้ใช้ bob และรหัสผ่าน เรือ :

wget --user=bob --password=boat ftps://ftp.example.com/file.zip

ดาวน์โหลดไฟล์พร้อมคำขอ POST

สร้างคำขอ HTTP POST แทนคำขอ GET เริ่มต้น และส่งข้อมูล สตริงว่างสามารถส่งด้วย –post-data :

wget --post-data="postcode=2000&country=Australia" https://www.example.com/file.zip

ในตัวอย่างนี้ เรากำลังส่งข้อมูล POST สองส่วน – รหัสไปรษณีย์และประเทศ

หากส่งคำขอ POST cURL จะใช้งานได้หลากหลายมากขึ้น

ดาวน์โหลดไดเร็กทอรีแบบเรียกซ้ำผ่าน FTP พร้อมขีดจำกัดความลึก

การดาวน์โหลดซ้ำจะดาวน์โหลดเนื้อหาของโฟลเดอร์และเนื้อหาของโฟลเดอร์ในโฟลเดอร์นั้น ตัวอย่างนี้มีการกำหนดความลึกที่ 3 ซึ่งหมายความว่าหากโฟลเดอร์ซ้อนกันภายใน 3 โฟลเดอร์อื่น จะไม่ถูกดาวน์โหลด:

wget -r -l 3 ftps://ftp.example.com/path/to/folder

การดาวน์โหลดทั้งไดเรกทอรีรวมถึงเนื้อหาทั้งหมดผ่าน FTP

wget -m ftps://ftp.example.com/path/to/folder

โคลนทั้งหน้าเว็บโดยใช้ Wget

หากคุณต้องการลองใช้ทั้งหน้าเว็บ รวมถึงรูปภาพ สไตล์ และสคริปต์ทั้งหมด คุณสามารถใช้

wget -p https://www.example.com/page.html

ความสำเร็จของคุณจะแตกต่างกันไป – หน้าเว็บสมัยใหม่บางหน้าทำงานได้ไม่ดีนักเมื่อขาดแหล่งที่อยู่อาศัย