ผ่านบรรทัดคำสั่งฉันมีไฟล์บันทึกที่ฉันต้องการติดตาม
สิ่งที่ฉันต้องการคือโดยทั่วไปแล้วจะเป็นการtail
รีเฟรชเมื่อมีการอัปเดตบันทึกทำให้ข้อความเลื่อนขึ้นด้านบนเนื่องจากบรรทัดใหม่ถูกผนวกเข้ากับไฟล์บันทึก
มีอะไรออกมาบ้างที่ทำได้โดยไม่ต้องเขียนโค้ด?
ผ่านบรรทัดคำสั่งฉันมีไฟล์บันทึกที่ฉันต้องการติดตาม
สิ่งที่ฉันต้องการคือโดยทั่วไปแล้วจะเป็นการtail
รีเฟรชเมื่อมีการอัปเดตบันทึกทำให้ข้อความเลื่อนขึ้นด้านบนเนื่องจากบรรทัดใหม่ถูกผนวกเข้ากับไฟล์บันทึก
มีอะไรออกมาบ้างที่ทำได้โดยไม่ต้องเขียนโค้ด?
คำตอบ:
tail
มี-f
ตัวเลือก:
จากman
หน้า:
-f, --follow [= {name | descriptor}] เอาต์พุตต่อท้ายข้อมูลเมื่อไฟล์เติบโตขึ้น -f, --follow และ --follow = descriptor เทียบเท่ากัน
ดังนั้นหากคุณพิมพ์:
tail -f [path_and_name_of_logfile]
- คุณจะเห็นผลลัพธ์ในเทอร์มินัลเมื่อไฟล์บันทึกนั้นถูกผนวกเข้ากับ
NB [path_and_name_of_logfile]
เป็นพารามิเตอร์ดังนั้นเพื่อให้ตัวอย่าง:
tail -f /var/log/messages
หากคุณรวมกับ-n [number_of_lines]
ตัวเลือกคุณสามารถเริ่มต้นผลลัพธ์จาก [number_of_lines] สุดท้ายในไฟล์ - ตัวอย่างเช่น
tail -n 10 -f /var/log/Xorg.0.log
บางโปรแกรมจะเปลี่ยนไฟล์บันทึกเป็นระยะย้ายไฟล์เก่าเป็นชื่อใหม่ (เช่น log.0) และเริ่มใหม่
NB logrotate ใช้เพื่อบันทึกไฟล์สำหรับโปรแกรมอื่นที่ไม่ได้ทำเอง
tail -f
จะยังคงติดตามไฟล์เก่าหลังจากเปลี่ยนชื่อ
tail -F
จะติดตามไฟล์ตามชื่อดังนั้นจะเปลี่ยนไปตามไฟล์ใหม่
ในขณะที่ tail
จะเป็นวิธีปกติในการทำสิ่งนี้ แต่ก็ควรสังเกตว่าless
มีคุณสมบัติเดียวกันและบางครั้งก็มีประโยชน์มากกว่า
หากคุณเปิดไฟล์ด้วยless
คุณสามารถกดShift+ Fเพื่อให้มันติดตามไฟล์ (เช่นมันจะแสดงบรรทัดใหม่เช่นเดียวกับที่tail -f
ทำ) คุณสามารถออกจากโหมดนี้ด้วยCtrl +C
นอกจากนี้คุณยังสามารถเริ่มต้นless
ด้วย+F
ตัวเลือกซึ่งในกรณีนี้มันจะเริ่มในโหมดนั้น โดยทั่วไปการพูด+
สามารถใช้เพื่อให้ "คำสั่งแป้นพิมพ์" less
ซึ่งจะดำเนินการเมื่อเริ่มต้น
การใช้less
สิ่งนี้มีข้อดีที่คุณสามารถค้นหาไฟล์หรือดูพื้นที่อื่น ๆ ได้หากต้องการ ฉันทำแบบนั้นกับไฟล์บันทึกบ่อยๆ
ทำ
tail -f something.log
ทำในสิ่งที่คุณต้องการ?
tail
มีการนำไปใช้งานสองแบบเพื่อติดตามและส่งออกข้อมูลที่ผนวกเข้ากับไฟล์
ด้วยพารามิเตอร์-f
, --follow
และ--follow=descriptor
,tail
ต่อไปนี้อธิบายไฟล์ เมธอดนี้อนุญาตให้ไฟล์ถูกติดตามข้ามการเปลี่ยนชื่อ แต่การติดตามจะหยุดลงเมื่อไฟล์ถูกหมุน
เมื่อทำตามไฟล์ที่มีการหมุนทั้งการใช้งาน--follow=name
หรือพารามิเตอร์ซึ่งเท่ากับ-F
--follow=name --retry
ด้วยวิธีtail
นี้จะเปิดไฟล์เป็นระยะเพื่อเอาชนะการหมุนที่เป็นไปได้
ฉันคิดว่าcczeเป็นเครื่องมือที่เหมาะสมสำหรับคุณ
มันทำสีเดียวกัน คุณสามารถดูบันทึกการเลื่อนลง แต่จะง่ายต่อการอ่านเพราะบรรทัดถูกพิมพ์ด้วยสี (ข้อผิดพลาดในสีแดงและอื่น ๆ ) คุณสามารถลองใช้งานด้วยสิ่งนี้:
tail -f /var/log/syslog | ccze