มีคุณสมบัติเช่น tail น้อย --follow = name (-F)


41

คำสั่งที่lessสามารถนำมาใช้แทนtailใน

tail -f file

เพื่อจัดเตรียมคุณลักษณะเช่นการจัดการเอาต์พุตไบนารีและการนำทาง scrollback:

less +F file

+คำนำหน้าหมายถึง "หลอกฉันพิมพ์ว่าหลังจากการเริ่มต้น" และที่สำคัญFจะเริ่มต้นดังต่อไปนี้

แต่lessยังสามารถทดแทน

tail --follow=name file

ซึ่งตามมาfileแม้ว่าไฟล์จริงจะถูกลบหรือย้ายออกไปเช่นไฟล์บันทึกที่ถูกย้ายไปfile.log.1แล้วไฟล์ใหม่จะถูกสร้างด้วยชื่อเดียวกันกับไฟล์ที่ตามมา?


1
คุณสามารถลองด้วยless --follow-nameหรือless --follow-name +F
don_crissti

@don_crissti ดีมาก ... less --follow-name +Fมัน - ไม่รู้ว่าฉันจะพลาดมันอย่างไร - ฉันค่อนข้างแน่ใจว่าฉันค้นหาหน้าคนสำหรับfollow... แปลก ทำให้เป็นคำตอบ!
Volker Siegel

การค้นหาเพิ่มเติมเผยให้เห็นว่ามีการถามและตอบแล้วที่นี่ดังนั้นฉันจะทิ้งมันไว้เป็นความคิดเห็น คุณสามารถโหวตคำตอบได้เสมอ
don_crissti

@don_crissti ถูกต้อง ... ยกเว้นว่าคำตอบที่ถูกต้องของคุณไม่พบ - --follow-nameอธิบายไว้ แต่+Fไม่เคยพูดถึงและฉันคิดว่ามันสำคัญมากเพราะมันไม่เป็นที่รู้จักอย่างกว้างขวาง
Volker Siegel

หากคุณมาที่นี่เพราะการค้นหาโดย Google ให้less followอ่านคำถาม มันตอบแล้วว่าจะทำการlessติดตามการเปลี่ยนแปลงไฟล์!
Hubert Grzeskowiak

คำตอบ:


40

ใช่lessสามารถตามด้วยชื่อไฟล์

คุณลักษณะนี้มีไวยากรณ์ที่ค่อนข้างคลุมเครือ:

less --follow-name +F file.log

ด้วยน้อย--follow-nameจะแตกต่างจากตัวเลือกtail มันไม่ได้ทำตามไฟล์ แต่มันจะปรับเปลี่ยนพฤติกรรมของคีย์คำสั่งภายในน้อยกว่าที่จะปฏิบัติตามชื่อไฟล์ไม่ใช่ตัวบ่งชี้ไฟล์ --follow=name
lessF

นอกจากนี้ยังไม่มีตัวเลือกปกติที่จะเริ่มlessในโหมดติดตาม
แต่คุณสามารถใช้บรรทัดคำสั่งเพื่อให้การกดแป้นพิมพ์ในการดำเนินการหลังจากที่เริ่มต้นโดย prefixing +พวกเขาด้วย
การรวมตัวเลือกปรับแต่งด้วย+F, lessจริงจะเริ่มต้นใน (แก้ไข) โหมดการติดตาม

ใช้+Fคนเดียวเพื่อเทียบเท่าธรรมดาtail -f:

less +F file.log

ฉันสงสัยว่าถ้าคุณติดตามสตรีมแบบไม่สิ้นสุดที่น้อยกว่านี้จะทำให้หน่วยความจำของคุณหมดเพราะท้ายหาง -f จำนวนหน่วยความจำที่ใช้ไม่ จำกัด โดยขีด จำกัด การเลื่อนเทอร์มินัล (เว้นแต่ว่าขีด จำกัด การเลื่อนเทอร์มินัล น้อยกว่า + F ต้องเก็บรักษาประวัติการเลื่อนทั้งหมดและไม่สามารถพึ่งพาการโหลดชิ้นใหม่จากไฟล์บนฮาร์ดดิสก์
CMCDragonkai

@CMCDragonkai จุดที่น่าสนใจ lessมีตัวเลือกในการควบคุมขนาดบัฟเฟอร์ที่ใช้ต่อไฟล์ ( -bและ-B) มันไม่ชัดเจนสำหรับฉันว่าขนาดถูก จำกัด โดยค่าเริ่มต้น
Volker Siegel

man page สำหรับ-Bบอกว่า "โดยค่าเริ่มต้นเมื่อข้อมูลถูกอ่านจากไปป์บัฟเฟอร์จะถูกจัดสรรโดยอัตโนมัติตามต้องการหากข้อมูลจำนวนมากถูกอ่านจากไปป์จะทำให้หน่วยความจำจำนวนมากถูกจัดสรร ตัวเลือก -B ปิดใช้งานการจัดสรรบัฟเฟอร์อัตโนมัติสำหรับไพพ์โดยอัตโนมัติดังนั้นจะใช้เฉพาะ 64 K (หรือจำนวนพื้นที่ที่ระบุโดยตัวเลือก -b) สำหรับไพพ์ ". ดังนั้นหมายความว่าเมื่ออ่านจากไปป์อนันต์หน่วยความจำไม่สิ้นสุดจะถูกจัดสรรตามค่าเริ่มต้น แต่ถ้าอ่านจากไฟล์เช่นไฟล์บันทึกจะใช้ค่าเริ่มต้น 64 K ส่วน
CMCDragonkai

4

ใน Fedora อย่างน้อยก็มีตัวเลือก + F ที่ตามหลังเนื้อหาของไฟล์เหมือนกับ tail -f

อัปเดตให้ลองกดปุ่ม F ในเวลาน้อยกว่าเพื่อสลับไปยังโหมดติดตามเช่นกัน


คุณแน่ใจไหม? น้อยของฉันมีตัวเลือกที่ขัดแย้งกันชื่อเดียวกัน-F: หน้าคนน้อยพูดว่า: -F or --quit-if-one-screen. รุ่นของlessคุณมี? เหมืองแร่กล่าวว่า มีตัวเลือกless 458 -V
Volker Siegel


น่าสนใจมากขอบคุณสำหรับลิงค์! ที่ดูเหมือนจะไม่เป็น gnu น้อย บรรทัดแรกเต็มไปด้วยความมีless -V less 458 (GNU regular expressions)กรุณาให้รุ่นของคุณ
Volker Siegel

ใช่ฉันแน่ใจ แต่ไปข้างหน้าและลงคะแนนฉัน stackexchange ต้องแบ่งปันความรัก
user1529413

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