`หาง -f 'มีประสิทธิภาพมากกว่า` less + F` หรือไม่


34

บทความนี้ชี้ให้เห็นเหตุผลที่จะใช้มากกว่าless +F tail -fเหตุผลส่วนใหญ่เกี่ยวกับคุณสมบัติไม่ใช่เหตุผลด้านเทคนิค : less +Fสามารถเน้นค้นหานำทางผ่านไฟล์

เหตุผลทางเทคนิคเกี่ยวกับอะไร?

AFAIK lessใช้การสำรวจความคิดเห็นในแต่ละวินาทีเพื่ออัปเดตไฟล์ขณะtailที่POSIX กำหนดไว้ให้ใช้การวนซ้ำที่ค้างเป็นเวลา 1 วินาทีและคัดลอกไบต์ใด ๆ ที่มีอยู่ นี่ก็เพียงพอแล้ว แต่ POSIX ก็สนับสนุนให้การติดตั้งใช้วิธีที่มีประสิทธิภาพมากกว่า อย่างน้อยหางของ GNU นั้นใช้การบอกกล่าวดังนั้นจึงมีประสิทธิภาพมากกว่า

less เก็บเนื้อหาของไฟล์ไว้ในหน่วยความจำด้วยไฟล์ขนาดใหญ่เช่นไม่กี่กิกะไบต์ก็สามารถทำให้คอมพิวเตอร์ของคุณช้าลงได้

ดังนั้นจะมีคนอื่น ๆ ใด ๆทางเทคนิคเหตุผลที่จะใช้tail -fมากกว่าless +F?

คำตอบ:


37

ฉันคิดว่าคุณได้ครอบคลุมประเด็นหลัก: less +Fอ่านไฟล์ทั้งหมดในขณะที่ในหลาย ๆ ระบบtail -fอ่านเฉพาะจุดสิ้นสุดของไฟล์และแม้แต่ในระบบที่อ่านไฟล์ทั้งหมดอย่างน้อยที่สุดก็ไม่ได้เก็บไฟล์ทั้งหมด ในความทรงจำ. ทำให้less +Fไฟล์ที่มีขนาดใหญ่มากทำไม่ได้ อย่างไรก็ตามคุณสามารถเรียกใช้less -n +Fซึ่งทำให้เกิดlessการอ่านเฉพาะจุดสิ้นสุดไฟล์โดยไม่แสดงหมายเลขบรรทัด

ภายใต้ประทุนระหว่างless -n +Fและtail -fความแตกต่างที่สำคัญคือการtailใช้บริการแจ้งเตือนการเปลี่ยนแปลงไฟล์ในบางแพลตฟอร์ม (เช่น inotify บน Linux) ซึ่งช่วยให้สามารถแสดงข้อมูลใหม่ได้ทันทีในขณะที่lessอาจใช้เวลาถึง 1 วินาทีในการแสดงข้อมูลใหม่ เพราะมันจะตรวจสอบข้อมูลใหม่ในลูปและหลับระหว่างการตรวจสอบ

ข้อแตกต่างระหว่างless +Fและtail -fก็คือlessจะเรียกใช้ตัวกรองอินพุต แต่โดยทั่วไปจะไม่มีผลกระทบใด ๆ ต่อไฟล์บันทึก

ความแตกต่างด้านเทคนิคที่คุณโปรดปรานless +Fคือคุณสามารถตัดทอนบรรทัดที่ความกว้างของหน้าจอด้วย-Sตัวเลือกในขณะที่tailให้คุณไม่มีทางเลือก แต่จะแสดงบรรทัดทั้งหมดไม่ว่าจะนานแค่ไหน

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

หากคุณต้องการดูไฟล์หลายไฟล์มัลติทาสก์เป็นวิธีที่จะไป แม้แต่ไฟล์เดียว multitail ก็มีคุณสมบัติที่ดีกว่าเช่นการกรองและการกำหนดสี


ด้วยไฟล์ขนาดใหญ่มาก 'less -n 99.99p + F' ป้องกันการอ่านไฟล์ทั้งหมดน้อยลงหรือไม่
cuonglm

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