Linux - วิธีใดที่จะทำให้ไฟล์บันทึกการอัพเดตสดเปิดในเทอร์มินัล


46

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


4
อ่าฉันเจอแล้ว tail -f myfile.log. มันทำอย่างนั้น ฉันรักลินุกซ์
wulftone

คำตอบ:


80

ลองด้วย:

tail -f your.log

ที่-fยืนสำหรับการติดตาม


ในขณะที่คุณอาจต้องการเน้นไวยากรณ์, multitailสะดวกเช่น multitail -f your.logอ้างอิง unix.stackexchange.com/a/8419/17671
Nam G VU

หรือดียิ่งขึ้นgrcเช่นgrc tail -f your.log ref unix.stackexchange.com/a/21962/17671
Nam G VU

10

อีกวิธีหนึ่ง:

ดูหาง -n20 your.log

ตกลงชนิดที่ใช้โง่watch- แต่คุณอาจพบว่าwatchคำสั่งมีประโยชน์สำหรับสิ่งอื่น ๆ


5
watchตัวเลือกที่ดีกว่าสำหรับไฟล์ที่กำลังจะถูกเปลี่ยนชื่อ / ลบและสร้าง (ทั้งโดยการดำเนินงานปกติหรือสิ่งที่ต้องการ logrotate) ในช่วงเวลาที่คุณกำลังดูมิฉะนั้นtail -fมีประสิทธิภาพมากขึ้น
David Spillett

6
@ David: tail -Fจัดการที่
grawity

@grawity: ขอบคุณคุณได้เรียนรู้สิ่งใหม่ทุกวัน!
David Spillett

3

อีกทางเลือกหนึ่งสำหรับคำตอบของ @ cYrus คือ:

less +F file.log

ประโยชน์คือlessสามารถตัดทอนบรรทัดที่ยาวให้กับคุณ-Sเพื่อป้องกันไม่ให้มีการพันรอบหน้าจอเทอร์มินัลในขณะที่ให้คุณเลื่อนไปทางซ้าย / ขวา แทนที่จะทำtail -f file.logตามขั้นตอนcutหรือสิ่งที่คล้ายกันคุณสามารถ:

less -S +F file.log
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.