วิธีดูจุดสิ้นสุดของไฟล์ใน Linux ด้วยคำสั่ง ‘Tail’

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

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

ลองนึกภาพไฟล์ที่คุณกำลังอ่านมี 300,000 บรรทัดในนั้น ลองนึกภาพด้วยว่าไฟล์นั้นกินเนื้อที่ดิสก์มาก

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

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


ตัวอย่างการใช้งาน

คำสั่ง tail ตามค่าเริ่มต้นจะแสดง 10 บรรทัดสุดท้ายของไฟล์

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

หาง

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

หาง sudo

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


วิธีระบุจำนวนเส้นที่จะแสดง

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

หาง sudo -n20

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

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

หาง sudo -n + 20

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

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

หาง sudo -n + 20

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

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

หาง sudo -c20

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

sudo หาง -c + 20


วิธีตรวจสอบไฟล์บันทึก

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

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

หาง sudo -F -s20

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

หาง sudo -F --pid = 1234

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

ps -ef | grep & l

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

p

ผลลัพธ์จากคำสั่งจะให้ ID กระบวนการแก่คุณ สมมติว่า ID กระบวนการคือ 1234 ตอนนี้คุณสามารถรัน tail กับไฟล์ที่กำลังแก้ไขโดย nano โดยใช้คำสั่งต่อไปนี้:

หาง sudo -F --pid = 1234

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


วิธีลองใช้คำสั่ง tail อีกครั้ง

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

หาง sudo --retry -F

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


สรุป

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