วิธีดูส่วนท้ายของแฟ้มใน Linux ด้วยคำสั่งหาง

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

เหตุใดคุณจึงต้องการใช้คำสั่งเหล่านี้ ทำไมไม่ใช้ คำสั่ง cat เพื่อดูไฟล์ทั้งหมดหรือใช้ editor เช่น nano ?

ลองนึกภาพไฟล์ที่คุณกำลังอ่านอยู่ 300,000 บรรทัด

ลองจินตนาการว่าไฟล์ใช้เนื้อที่ดิสก์มาก

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

คำสั่งหางจะมีประโยชน์สำหรับการดูไฟล์สองสามบรรทัดสุดท้ายและดีมากเมื่อคุณต้องการดู สิ่งที่เกิดขึ้นในแฟ้มบันทึกที่เก็บอยู่ในโฟลเดอร์ / var / log

คำแนะนำนี้จะแสดงวิธีการใช้คำสั่งหางรวมทั้งสวิทช์ทั้งหมดที่มีอยู่

ตัวอย่างการใช้คำสั่งหาง

ดังที่ได้กล่าวไว้แล้วคำสั่งหางโดยค่าเริ่มต้นแสดงบรรทัดสุดท้าย 10 ไฟล์

ไวยากรณ์สำหรับคำสั่งหางมีดังต่อไปนี้:

หาง

ตัวอย่างเช่นเพื่อดูล็อกการบูตระบบของคุณคุณสามารถใช้คำสั่งต่อไปนี้:

sudo tail /var/log/boot.log

ผลลัพธ์จะเป็นดังนี้:

* เริ่มเปิดใช้งานอุปกรณ์บล็อกที่เข้ารหัสที่บูตเวลาที่เหลืออยู่ [ตกลง]
* เริ่มบันทึก udev log และปรับปรุงกฎ [OK]
* หยุดบันทึก udev log และปรับปรุงกฎ [OK]
* ตัวจัดการการพูดถูกปิดการใช้งาน แก้ไข / etc / default / speech-dispatcher
* การเพิ่ม VirtualBox เพิ่มขึ้นโดยไม่ใช้ Virtual Machine
ถูกปิดใช้งาน แก้ไข / etc / default / saned
* การกู้คืนสถานะ resolver ... [OK]
* การหยุดทำงานของระบบ V runlevel compatibility [ตกลง]
* การเริ่มต้น MDM Display Manager [OK]
* หยุดการส่งเหตุการณ์เพื่อระบุว่า plymouth ขึ้น [OK]

วิธีกำหนดจำนวนเส้นที่จะแสดง

บางทีคุณอาจต้องการดูมากกว่า 10 บรรทัดสุดท้ายของไฟล์ คุณสามารถระบุจำนวนบรรทัดที่ต้องการดูโดยใช้คำสั่งต่อไปนี้:

sudo tail -n20

ตัวอย่างข้างต้นจะแสดง 20 บรรทัดสุดท้ายของไฟล์

ทางเลือกที่คุณสามารถใช้สวิตช์ -n เพื่อระบุจุดเริ่มต้นในไฟล์ด้วย บางทีคุณอาจรู้ว่า 30 แถวแรกในไฟล์เป็นความคิดเห็นและคุณต้องการดูข้อมูลภายในไฟล์ ในกรณีนี้คุณจะใช้คำสั่งต่อไปนี้:

sudo tail -n + 20

คำสั่งหางมักใช้ควบคู่ไปกับคำสั่งเพิ่มเติมเพื่อให้คุณสามารถอ่านไฟล์ในแต่ละครั้งได้

ตัวอย่างเช่น:

sudo tail -n + 20 | มากกว่า

คำสั่งข้างต้นส่ง 20 บรรทัดสุดท้ายจากชื่อไฟล์และท่อเป็นอินพุทไปยังคำสั่งเพิ่มเติม:

นอกจากนี้คุณยังสามารถใช้คำสั่งหางเพื่อแสดงจำนวนไบต์บางอย่างแทนบรรทัด:

sudo tail -c20

อีกครั้งคุณสามารถใช้สวิตช์เดียวกันเพื่อเริ่มต้นแสดงจากจำนวนไบต์บางอย่างดังนี้:

sudo tail -c + 20

วิธีการตรวจสอบแฟ้มบันทึก

มีหลายสคริปต์และโปรแกรมที่ไม่ได้ส่งออกไปยังหน้าจอ แต่จะผนวกเข้ากับไฟล์บันทึกขณะที่กำลังทำงานอยู่

ในกรณีนี้คุณอาจต้องตรวจสอบไฟล์บันทึกตามที่เปลี่ยนแปลง

คุณสามารถใช้คำสั่งหางต่อไปนี้เพื่อตรวจสอบว่าบันทึกเปลี่ยนไปหลายวินาทีได้อย่างไร:

sudo tail -F -s20

นอกจากนี้คุณยังสามารถใช้หางเพื่อเฝ้าติดตามบันทึกต่อไปจนกว่ากระบวนการจะตายดังต่อไปนี้:

sudo tail -F --pid = 1234

เมื่อต้องการค้นหารหัสกระบวนการสำหรับกระบวนการที่คุณสามารถใช้คำสั่งต่อไปนี้:

ps -ef | grep

ตัวอย่างเช่นสมมติว่าคุณกำลังแก้ไขไฟล์ด้วย nano คุณสามารถหารหัสกระบวนการสำหรับนาโนโดยใช้คำสั่งต่อไปนี้:

ps -ef | grep nano

ผลลัพธ์จากคำสั่งจะระบุรหัสกระบวนการ ลองนึกภาพรหัสกระบวนการคือ 1234

ตอนนี้คุณสามารถเรียกใช้ tail กับไฟล์ที่ถูกแก้ไขโดย nano โดยใช้คำสั่งต่อไปนี้:

sudo tail -F --pid = 1234

ทุกครั้งที่ไฟล์ถูกบันทึกไว้ภายใน nano คำสั่งหางจะรับบรรทัดใหม่ที่ด้านล่าง คำสั่งจะหยุดทำงานเฉพาะเมื่อปิดตัวแก้ไข nano

วิธีการลองคำสั่งต่อท้าย

หากคุณได้รับข้อผิดพลาดขณะพยายามเรียกใช้คำสั่งหางเนื่องจากไม่สามารถเข้าถึงได้ด้วยเหตุผลบางประการจากนั้นคุณสามารถใช้พารามิเตอร์ลองใหม่เพื่อให้ลองใหม่จนกว่าไฟล์จะพร้อมใช้งาน

sudo tail --retry -F

การทำงานนี้ใช้งานร่วมกับสวิตช์ -F เท่านั้นเนื่องจากคุณต้องทำตามไฟล์ที่ต้องการลองอีกครั้ง

สรุป

คู่มือนี้แสดงให้เห็นถึงการใช้งานทั่วไปของคำสั่งหาง

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งหางคุณสามารถใช้คำสั่งต่อไปนี้:

หางมนุษย์

คุณจะสังเกตเห็นว่าฉันได้รวม sudo ไว้ภายในคำสั่งส่วนใหญ่แล้ว การดำเนินการนี้จำเป็นเฉพาะเมื่อคุณไม่มีสิทธิ์ในฐานะผู้ใช้ตามปกติในการดูไฟล์และคุณต้องได้รับสิทธิ์ในระดับสูง