Skip to main content

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

Anonim

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