คำถามติดแท็ก tail

การรับชมการอัพเดตที่ส่วนท้ายของไฟล์โดยมีหรือไม่มียูทิลิตี tail

19
วิธีการมีหาง -f แสดงเอาต์พุตสี
ฉันต้องการที่จะสามารถส่งออกของไฟล์บันทึกเซิร์ฟเวอร์ที่มีข้อความเช่น: INFO SEVERE ฯลฯ และถ้าเป็นSEVEREเช่นนั้นแสดงบรรทัดเป็นสีแดง ถ้าเป็นINFOสีเขียว ฉันสามารถตั้งค่านามแฝงประเภทใดสำหรับtailคำสั่งที่จะช่วยฉันทำสิ่งนี้

6
cat line X ถึง line Y ในไฟล์ขนาดใหญ่
ว่าฉันมีแฟ้มข้อความขนาดใหญ่ (> 2GB) และฉันเพียงต้องการที่จะcatสายXไปY(เช่น 57890000-57890010) จากสิ่งที่ฉันเข้าใจฉันสามารถทำสิ่งนี้ได้โดยการไพพ์headไปยังtailหรือ viceversa เช่น head -A /path/to/file | tail -B หรืออีกวิธีหนึ่ง tail -C /path/to/file | head -D ที่A, B, CและDสามารถคำนวณจากจำนวนบรรทัดในไฟล์และXY แต่มีสองปัญหาด้วยวิธีนี้: คุณต้องคำนวณA, B, และCD คำสั่งสามารถpipeต่อบรรทัดอื่น ๆ ได้มากกว่าที่ฉันสนใจในการอ่าน (เช่นถ้าฉันอ่านเพียงไม่กี่บรรทัดที่อยู่ตรงกลางไฟล์ขนาดใหญ่) มีวิธีที่จะให้เชลล์ใช้งานและส่งออกบรรทัดที่ฉันต้องการหรือไม่? (ในขณะที่ให้เท่านั้นXและY)?
132 tail  cat  large-files  head 

5
หางอ่านไฟล์ทั้งหมดหรือไม่?
หากฉันต้องการtailไฟล์ข้อความ 25 GB tailคำสั่งจะอ่านไฟล์ทั้งหมดหรือไม่ เนื่องจากไฟล์อาจกระจายอยู่ในดิสก์ฉันคิดว่ามันมี แต่ฉันไม่เข้าใจ internals ดี
113 tail 

5
วิธีการตรวจสอบเฉพาะ n บรรทัดสุดท้ายของไฟล์บันทึก
ฉันมีล็อกไฟล์ที่กำลังเติบโตซึ่งฉันต้องการแสดงเฉพาะ 15 บรรทัดสุดท้าย นี่คือสิ่งที่ฉันรู้ว่าฉันสามารถทำได้: tail -n 15 -F mylogfile.txt เมื่อไฟล์บันทึกถูกเติมให้tailผนวกบรรทัดสุดท้ายเข้ากับจอแสดงผล ฉันกำลังมองหาวิธีแก้ปัญหาที่แสดงเฉพาะ 15 บรรทัดสุดท้ายและกำจัดบรรทัดก่อน 15 บรรทัดสุดท้ายหลังจากได้รับการอัพเดต คุณมีความคิดไหม?
110 logs  monitoring  tail 

1
วิธีทำ `tail -f` ของไฟล์บันทึกที่หมุนแล้ว?
บนระบบที่ใช้เวลานานฉันมักจะมีเทอร์มินัล $ tail -f /var/log/kern.log หรืออะไรทำนองนี้ที่เปิดอยู่ แต่ในบางครั้งฉันต้องรีสตาร์ทคำสั่งดังกล่าวเพราะไม่มีข้อความใหม่ปรากฏขึ้นอีก ฉันคิดว่าเป็นเพราะงานหมุนบันทึกที่แทนที่ไฟล์บันทึกtail -fคือ 'ดู' ฉันจะหลีกเลี่ยงปัญหาการเริ่มต้นใหม่นี้ได้อย่างไร ฉันสามารถเรียกtailเช่นนี้เพื่อสังเกตกระบวนการหมุนและทำสิ่งที่ถูกต้องได้หรือไม่? (ฉันสังเกตเห็นปัญหานี้ในระบบ Ubuntu 11.04 ที่ใช้เป็นrsyslogdค่าเริ่มต้น)
106 logs  tail  logrotate  rsyslog 

3
สังเกตล็อกไฟล์หลายไฟล์ในเอาต์พุตเดียว
มีวิธีง่ายๆในการทำสิ่งต่าง ๆ เช่นtail -f mylogfileแต่มีการเปลี่ยนแปลงมากกว่าหนึ่งไฟล์ที่แสดง (อาจมีการเพิ่มชื่อไฟล์เป็นคำนำหน้าในแต่ละบรรทัด)? หรืออาจเป็นเครื่องมือ GUI ฉันกำลังเรียกใช้ Debian
60 logs  tail 

3
พารามิเตอร์“ -f” ของคำสั่ง“ tail” ทำงานอย่างไร
$ tail -f testfile คำสั่งควรจะแสดงรายการล่าสุดในไฟล์ที่ระบุในเวลาจริงใช่มั้ย แต่นั่นไม่ได้เกิดขึ้น โปรดแก้ไขฉันด้วยถ้าสิ่งที่ฉันตั้งใจจะทำคือผิด ... ฉันสร้างไฟล์ใหม่ "aaa" และเพิ่มบรรทัดข้อความแล้วปิดมัน จากนั้นออกคำสั่งนี้ (บรรทัดแรก): $ tail -f aaa xxx xxa axx สามบรรทัดสุดท้ายคือเนื้อหาของไฟล์ aaa ตอนนี้คำสั่งยังคงทำงานอยู่ (ตั้งแต่ฉันใช้-f) ฉันเปิดไฟล์ aaa ผ่าน GUI และเริ่มเพิ่มอีกสองสามบรรทัดด้วยตนเอง แต่เทอร์มินัลจะไม่แสดงบรรทัดใหม่ที่เพิ่มเข้าไปในไฟล์ เกิดอะไรขึ้นที่นี่? tail -fคำสั่งแสดงเฉพาะรายการใหม่ถ้าพวกเขาจะเขียนโดยระบบเท่านั้น? (เช่นไฟล์บันทึกเป็นต้น)

10
วิธีการรับพฤติกรรมผกผันสำหรับ "หาง" และ "หัว"
มีวิธีการhead/ tailเอกสารและรับเอาท์พุทย้อนกลับ; เพราะคุณไม่ทราบว่ามีเอกสารกี่บรรทัด? คือฉันต้องการรับทุกอย่าง แต่ 2 บรรทัดแรกfoo.txtเพื่อต่อท้ายเอกสารอื่น

6
วิธีที่ดีที่สุดในการติดตามบันทึกและดำเนินการคำสั่งเมื่อมีข้อความปรากฏในบันทึก
ฉันมีบันทึกเซิร์ฟเวอร์ที่แสดงบรรทัดข้อความเฉพาะลงในไฟล์บันทึกเมื่อเซิร์ฟเวอร์หยุดทำงาน ฉันต้องการรันคำสั่งเมื่อเซิร์ฟเวอร์ทำงานและด้วยเหตุนี้ให้ทำสิ่งต่อไปนี้: tail -f /path/to/serverLog | grep "server is up" ...(now, e.g., wget on server)? วิธีที่ดีที่สุดในการทำเช่นนี้คืออะไร?

2
เทียบเท่าบรรทัดคำสั่ง 'น้อย' ของ 'tail -f'
tail -fฉันต้องการที่จะเปิดไฟล์โดยใช้น้อยลงและมีมันโดยอัตโนมัติเลื่อนไฟล์คล้ายกับ ฉันรู้ว่าฉันสามารถทำless fileแล้วกดShift-Fเพื่อส่งต่อไปตลอดกาล; tail -fเช่น ฉันต้องการlessเพราะมันให้--raw-control-charsธงซึ่งเป็นสิ่งจำเป็นเพราะอินพุตของฉันมีสีสัน
54 shell  less  tail 

5
ไฟล์มอนิเตอร์ (à la tail -f) ในไดเรกทอรีทั้งหมด (แม้แต่ไฟล์ใหม่)
tail -f directory/*ผมปกติดูบันทึกจำนวนมากในไดเรกทอรีทำ ปัญหาคือว่ามีการสร้างบันทึกใหม่หลังจากนั้นจะไม่แสดงในหน้าจอ (เนื่องจาก*ถูกขยายไปแล้ว) มีวิธีตรวจสอบไฟล์ทุกไฟล์ในไดเรกทอรีหรือไม่แม้กระทั่งไฟล์ที่สร้างขึ้นหลังจากกระบวนการเริ่มทำงาน
53 logs  tail 

5
เนื้อหาไฟล์ที่ส่งออกในขณะที่พวกเขาเปลี่ยน
ฉันต้องการส่งออกเนื้อหาของไฟล์ในขณะที่มีการเปลี่ยนแปลงตัวอย่างเช่นถ้าฉันมีไฟล์foobarและฉันต้องการ: magic_command foobar เทอร์มินัลปัจจุบันควรแสดงเนื้อหาของไฟล์และรอจนกระทั่งฉันไม่รู้ฉันกด ^ C ถ้าเป็นเช่นนั้นจากเทอร์มินัลอื่นฉัน: echo asdf >> foobar เทอร์มินัลแรกควรแสดงบรรทัดที่เพิ่มใหม่นอกเหนือจากเนื้อหาไฟล์ต้นฉบับ (แน่นอนเนื่องจากฉันไม่ได้กด ^ C) ฉันจะทำเครื่องหมายว่าเป็นการบ้านเนื่องจากฉันต้องการสำรวจและเรียนรู้ลินุกซ์ แต่ไม่ใช่การบ้านมันเป็นเพียงความอยากรู้อยากเห็นของฉัน
47 terminal  tail  stdout 

2
อะไรคือความแตกต่างระหว่าง "tail -f" และ "tail -F"?
ฉันไม่เคยใช้tail -Fคำสั่งแทนใช้เสมอtail -fแต่มีคนบอกฉันว่า-Fดีกว่าโดยไม่มีคำอธิบายมากมาย ฉันค้นหาหน้าคนสำหรับคำสั่งหาง -f output appended data as the file grows; -F Same as --follow=name --retry --retry Keep trying to open a file even when it is or becomes inaccessible ง่ายต่อการเข้าใจสิ่งที่ต่ำกว่า-fทำ แต่ฉันไม่ทำตามสิ่งที่ตัวใหญ่-Fพยายามทำ ฉันขอขอบคุณบางคนที่สามารถอธิบายความแตกต่างให้ฉันได้
41 tail 

2
มีคุณสมบัติเช่น tail น้อย --follow = name (-F)
คำสั่งที่lessสามารถนำมาใช้แทนtailใน tail -f file เพื่อจัดเตรียมคุณลักษณะเช่นการจัดการเอาต์พุตไบนารีและการนำทาง scrollback: less +F file +คำนำหน้าหมายถึง "หลอกฉันพิมพ์ว่าหลังจากการเริ่มต้น" และที่สำคัญFจะเริ่มต้นดังต่อไปนี้ แต่lessยังสามารถทดแทน tail --follow=name file ซึ่งตามมาfileแม้ว่าไฟล์จริงจะถูกลบหรือย้ายออกไปเช่นไฟล์บันทึกที่ถูกย้ายไปfile.log.1แล้วไฟล์ใหม่จะถูกสร้างด้วยชื่อเดียวกันกับไฟล์ที่ตามมา?
41 tail  less  pager 

7
วิธีตัดหลายไฟล์โดยใช้ tail -0f ใน Linux / AIX
ฉันพยายามปรับสองไฟล์โดยใช้ตัวเลือก: tail -0f file1.log -0f file2.log ใน Linux ฉันเห็นข้อผิดพลาด "tail: สามารถประมวลผลได้ครั้งละหนึ่งไฟล์เท่านั้น" ใน AIX ฉันเห็นข้อผิดพลาดว่า "ตัวเลือกไม่ถูกต้อง" มันใช้งานได้ดีเมื่อฉันใช้: tail -f file1 -f file 2 ใน Linux แต่ไม่ใช่ใน AIX ฉันต้องการให้สามารถใช้หลาย ๆ ไฟล์โดยใช้-0fหรือ-fใน AIX / Linux multitail ไม่เป็นที่รู้จักในทั้งสองระบบปฏิบัติการเหล่านี้
39 tail 

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