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