tail -f ไม่ติดตามการเปลี่ยนแปลงไฟล์


12

ฉันเพิ่งดูการใช้ tail -f เพื่อตรวจสอบไฟล์ข้อความบางอย่างเช่น: tail -f /var/sometext อย่างไรก็ตามเมื่อฉันทำการทดสอบบางอย่างดูเหมือนจะไม่ทำงาน สิ่งที่ฉันทำคือฉันสร้างไฟล์ใหม่และเรียกใช้: tail -f /home/name/text จากนั้นฉันเปิดบันทึกเป็นกลุ่มและทำการแก้ไขบันทึกและดูเหมือนว่าหางไม่ได้ "เห็น" การเปลี่ยนแปลง

สิ่งที่แปลกคือวิ่ง echo "hello" >> /home/name/text ดูเหมือนว่าจะทำงานได้ดี (หางเห็นการเปลี่ยนแปลง) ฉันอ่านที่นี่มีบางอย่างเกี่ยวกับตัวอธิบายไฟล์และ inodes ใหม่ที่ถูกสร้างขึ้นเมื่อบันทึกไฟล์ ใครสามารถอธิบายสิ่งนี้ให้ฉันได้บ้าง ฉันไม่ค่อยเข้าใจว่ามันใช้งานได้จริง แต่ฉันมีความคิดว่า file descriptors คืออะไร ขอบคุณ!

คำตอบ:


28

-f ตามด้วย inode หากคุณต้องการติดตามด้วยชื่อเช่นเมื่อโปรแกรมสร้างไฟล์ขึ้นใหม่อย่างสมบูรณ์ให้ใช้ -F แทน.


เรียบร้อยฉันไม่เคยรู้เรื่องนี้เลย มันจ่ายเพื่ออ่าน manpages ของอรรถประโยชน์แม้ (โดยเฉพาะ?) ถ้าคุณใช้พวกเขาตลอดเวลา!
Lyle

1

tail -f เฝ้าดูจุดสิ้นสุดของไฟล์และเมื่อสิ้นสุดการย้ายไฟล์จะพิมพ์เนื้อหาใหม่และรอให้จุดสิ้นสุดไฟล์เลื่อนอีกครั้ง กล่าวอีกนัยหนึ่งการเปลี่ยนแปลงที่อยู่ตรงกลางของเอกสารจะไม่พบโดย tail -f แต่จะต่อท้าย


0

จริงๆแล้วเรื่องจริงคือ:

tail -f ตรวจสอบหน่วยความจำไม่ใช่ดิสก์ แต่ไม่สามารถเข้าถึงหน่วยความจำที่ได้รับการป้องกันเช่นการแก้ไขไฟล์ที่เปิดโปรแกรมแก้ไขข้อความ

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