มีคำสั่งที่มีประโยชน์มากสองคำใน 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 คุณสามารถใช้คำสั่งต่อไปนี้: