Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> Linux

แสดงสถานะ WGET ในโหมดพื้นหลังโดยใช้แฟล็ก -b

แม้ว่าจะเป็นไปได้ที่จะเรียกใช้ wget ในพื้นหลังโดยใช้เครื่องหมายแอมเปอร์แซนด์หลังจากออกคำสั่งแล้ว แต่โดยทั่วไปแล้วจะมีประโยชน์มากกว่าหากออกคำสั่งด้วยแฟล็ก -b ตัวอย่างเช่น สมมติว่าคุณต้องการดาวน์โหลดอิมเมจการติดตั้งซีดี Debian คุณสามารถทำได้ด้วย wget -b https://cdimage.debian.org/mirror/cdimage/archive/8.7.1/i386/list-cd/debian-8.7.1-i386-CD-1.list.gz ซึ่งจะบอกคุณทันทีว่ากระบวนการกำลังดำเนินต่อไปในเบื้องหลัง นอกจากนี้ ยังให้หมายเลขประจำตัวโปรเซสเซอร์ที่ระบุว่ากระบวนการเบื้องหลังใดที่รันอยู่

แม้ว่ากระบวนการ wget ที่ทำงานอยู่เบื้องหลังจะไม่ให้ข้อมูลอื่นใดในส่วนนี้ แต่นั่นไม่ได้หมายความว่าคุณจะไม่สามารถแสดงสถานะได้หากต้องการ คุณสามารถเปิดไฟล์บันทึก wget ในโปรแกรมแก้ไขข้อความได้อย่างง่ายดาย โปรแกรมเมอร์ออกแบบกระบวนการนี้ให้ทำงานกับเซิร์ฟเวอร์เหล็กขนาดใหญ่ ซึ่งหมายความว่าคุณจะไม่มีตัวเลือกใด ๆ ในการทำสิ่งต่าง ๆ ให้สวยงาม อีกครั้ง คุณไม่จำเป็นต้องทำตามขั้นตอนพื้นฐานสุด ๆ เกินกว่าขั้นตอนเดียวเพื่อรับข้อมูลที่คุณกำลังมองหา สิ่งที่ต้องทำก็แค่เปิดไฟล์เดียว

กำลังแสดงสถานะการดาวน์โหลดพื้นหลัง

สมมติว่าคุณใช้ wget -b ตามด้วยที่อยู่ของทรัพยากรที่คุณกำลังดาวน์โหลด แม้ว่าเราจะใช้ Debian LXDE ติดตั้ง ISO แต่ในทางทฤษฎีแล้ว คุณสามารถใช้ทรัพยากรออนไลน์ได้เกือบทุกชนิด กระบวนการของโปรแกรม wget ไม่สามารถนำไปสู่เบื้องหน้าได้เช่นเดียวกับกระบวนการที่คุณใช้เครื่องหมายแอมเปอร์แซนด์เพื่อส่งไปยังพื้นหลัง ในความเป็นจริง หากคุณรันคำสั่ง jobs ทันทีหลังจากเริ่ม wget ด้วยวิธีนี้ คุณจะพบว่าไม่มีกระบวนการพื้นหลังที่ลงทะเบียนกับ bash shell แม้ว่าคุณจะสามารถใช้ kill ตามด้วย ID กระบวนการได้ หากคุณต้องการหยุดกระบวนการ wget ของคุณทันที แม้ว่าจะดาวน์โหลดไฟล์ไม่ถูกต้องก็ตาม

คุณสามารถคลิกที่ไฟล์ที่ดาวน์โหลดมาและดูขนาดไฟล์ที่ใหญ่ขึ้นในตัวจัดการไฟล์แบบกราฟิก อย่างไรก็ตาม wget จะสร้างไฟล์บันทึกตามค่าเริ่มต้นซึ่งจะเขียนออกมาอย่างต่อเนื่อง มันตั้งชื่อ wget-log เหล่านี้แล้วเริ่มใช้ตัวเลขหากคุณดาวน์โหลดไฟล์มากกว่าหนึ่งไฟล์ในลักษณะนี้ไปยังไดเร็กทอรีเดียวกันหรือหากคุณทิ้งไฟล์บันทึกเก่าไว้ในนั้น วิธีนี้จะป้องกันไม่ให้ wget เขียนทับไฟล์บันทึกของตัวเอง คุณสามารถดับเบิลคลิกไฟล์เหล่านี้ในตัวจัดการไฟล์แบบกราฟิกเพื่อเปิดขึ้น หรือคุณสามารถใช้คำสั่งน้อยกว่าหรือมากกว่าจากพรอมต์ CLI เพื่อโหลดไฟล์เหล่านั้น สถานะการดาวน์โหลดปัจจุบันจะอยู่ที่บรรทัดสุดท้ายของไฟล์เสมอ

โปรดทราบว่าคุณจะต้องเขียนไฟล์เหล่านี้อย่างต่อเนื่อง ซึ่งหมายความว่าคุณจะต้องเปิดไฟล์เหล่านั้นซ้ำๆ ในตัวจัดการไฟล์แบบกราฟิก หรือใช้คำสั่ง cat เดียวกัน น้อยกว่าหรือมากกว่านั้นในพรอมต์ CLI เพื่อดูการเปลี่ยนแปลงที่เกี่ยวข้อง คุณสามารถใช้ -o ตามด้วยชื่อไฟล์เมื่อคุณเริ่มคำสั่ง wget เพื่อระบุไฟล์บันทึกที่กำหนดเอง แต่มีผู้ใช้เพียงไม่กี่รายที่เคยทำเช่นนี้ คุณอาจใช้แฟล็ก -a ตามด้วยชื่อไฟล์บันทึกเพื่อต่อท้ายข้อความกับไฟล์ที่คุณมีอยู่แล้ว อย่าพยายามเรียกใช้กระบวนการ wget พื้นหลังสองกระบวนการต่อท้ายบันทึกเดียวกัน เนื่องจากอาจทำให้ไฟล์ของคุณเต็มไปด้วยคำพูดที่ไม่มีความหมาย ซอฟต์แวร์ wget จะพยายามเขียนบรรทัดแล้วบรรทัดเล่าจากทั้งสองกระบวนการ นำไปสู่ข้อมูลที่กระจัดกระจายซึ่งอ่านยาก

แฟล็กใด ๆ เหล่านี้ทำงานร่วมกับแฟล็กอื่น ๆ ที่คุณอาจใช้เมื่อทำงานกับ wget แต่โปรดจำไว้ว่า wget จะมีค่าเริ่มต้นเป็นแฟล็ก -v เสมอ แฟล็กนี้เปิดใช้งานเอาต์พุตแบบละเอียด ซึ่งเป็นสิ่งที่ผู้ใช้ส่วนใหญ่คุ้นเคย การรวมแฟล็ก -b และแฟล็ก -q สำหรับเอาต์พุตแบบเงียบสามารถทำให้คุณมืดมนเกี่ยวกับสิ่งที่ wget กำลังทำในเวลาใดก็ตาม ในทางเทคนิค คุณสามารถรวมแฟล็ก -b และ -d ได้ แต่ทั้งหมดนี้เปิดใช้งานเอาต์พุตระดับการแก้ไขข้อบกพร่อง ซึ่งจะบอกคุณเพิ่มเติมเกี่ยวกับสิ่งที่ซอฟต์แวร์กำลังทำอยู่เบื้องหลัง โดยปกติเอาต์พุตเพิ่มเติมนี้จะมีประโยชน์สำหรับผู้ที่ทำงานแก้ไขซอร์สโค้ดของ wget เท่านั้น และผู้ใช้ส่วนใหญ่สามารถหลีกเลี่ยงมันได้โดยสิ้นเชิง แม้แต่โปรแกรมเมอร์ที่ทำงานเกี่ยวกับสคริปต์ดาวน์โหลดก็ไม่ควรต้องการข้อมูลนี้ และในกรณีส่วนใหญ่ มันจะทำให้เกิดความยุ่งเหยิงโดยไม่จำเป็น

โปรดจำไว้ว่าหากคุณใช้ wget ในไดเร็กทอรีอื่นที่ไม่ใช่ ~/Downloads มันจะวางไฟล์บันทึกของคุณไว้ที่นั่นด้วย

เกี่ยวกับผู้เขียน

แสดงสถานะ WGET ในโหมดพื้นหลังโดยใช้แฟล็ก -b

เควิน แอร์โรว์ส

Kevin Arrows เป็นผู้เชี่ยวชาญด้านเทคโนโลยีที่มีประสบการณ์สูงและมีความรู้และมีประสบการณ์ในอุตสาหกรรมมานานกว่าทศวรรษ เขาได้รับการรับรองจาก Microsoft Certified Technology Specialist (MCTS) และมีความมุ่งมั่นอย่างแรงกล้าที่จะติดตามข่าวสารเกี่ยวกับการพัฒนาเทคโนโลยีล่าสุด Kevin ได้เขียนหัวข้อที่เกี่ยวข้องกับเทคโนโลยีอย่างกว้างขวาง โดยนำเสนอความเชี่ยวชาญและความรู้ของเขาในด้านต่างๆ เช่น การพัฒนาซอฟต์แวร์ ความปลอดภัยทางไซเบอร์ และการประมวลผลแบบคลาวด์ การมีส่วนร่วมของเขาในด้านเทคโนโลยีได้รับการยอมรับและเคารพอย่างกว้างขวางจากเพื่อนร่วมงานของเขา และเขาได้รับการยกย่องอย่างสูงจากความสามารถของเขาในการอธิบายแนวคิดทางเทคนิคที่ซับซ้อนในลักษณะที่ชัดเจนและรัดกุม