題 linux中的管道和尾部-f


是否可以執行 cat logfile | tail -f?由於某種原因,它只是讀取初始日誌,但它不會更新傳入的條目。我知道我可以直接做 tail -f logfile

我只是想知道為什麼這不起作用,如果 tail -f 必須始終是第一個,然後是另一個管道?


2
2017-12-10 03:28


起源


擺脫使用習慣是個好主意 cat 無益。 - Dennis Williamson


答案:


做就是了 tail -f logfile。當你第一次做貓時,你正在把文件當作現在,如果你想獲得新的條目,你需要再次捕捉它。如果你這樣做 tail -f logfile,然後它將在文件更新時不斷更新屏幕(儘管您可能希望這樣做 tail -F logfile,如果翻轉日誌文件並創建一個新文件,它將繼續工作。

換一種說法, cat 執行一次,輸出轉到尾部。直接在文件上運行尾部會導致尾部執行並保持運行,因此您不斷獲得更新(使用-f,即)。


5
2017-12-10 03:31