等同於–follow=descriptor,根據檔案描述符進行追蹤,當檔案改名或被刪除,追蹤停止
測試如下
# 建立新檔案
touch test.log
# 使用tail -f
tail -f test.log
# 寫資料
echo 1 >> test.log
echo 2 >> test.log
echo 2 > test.log
echo 3 >> test.log
# 更改檔名
mv test.log test1.log
# 嘗試寫入修改過檔名的檔案
echo 3 >> test1.log
# 嘗試改回檔名
mv test1.log test.log
# 嘗試再次寫入檔案
echo 4 >> test.log
測試結果如下
[hadoop@hadoop004 ~]$ tail -f test.log12
# 這裡對應覆蓋寫操作
tail: test.log:檔案已截斷23
# 這裡對應mv操作
# mv之後的結果均無法追蹤到
等同於–follow=name --retry,根據檔名進行追蹤,並保持重試,即該檔案被刪除或改名後,如果再次建立相同的檔名,會繼續追蹤
測試如下
# 建立新檔案
touch test.log
# 使用tail -f
tail -f test.log
# 寫資料
echo 1 >> test.log
echo 2 >> test.log
echo 2 > test.log
echo 3 >> test.log
# 更改檔名
mv test.log test1.log
# 嘗試寫入修改過檔名的檔案
echo 3 >> test1.log
# 嘗試改回檔名
mv test1.log test.log
# 嘗試再次寫入檔案
echo 4 >> test.log
測試結果如下
[hadoop@hadoop004 ~]$ tail -f test.log12
# 這裡對應覆蓋寫
tail: test.log:檔案已截斷23
# 這裡對應mv操作
tail: "test.log" 已不可訪問: 沒有那個檔案或目錄
# mv之後寫入3,沒有顯示
# 這裡對應mv會原檔名,tail從頭讀取23
3# 這裡對應還原回原檔案之後再寫入
4
tail的時候如果沒有加限制,只要內存放得下就會將所有的內容一次性顯示出來,所以遇到大檔案的時候,tail會很費時間也可能會占用很大的記憶體。 tail f與tail F的區別
tail f 等同於 follow descriptor,根據檔案描述符進行追蹤,當檔案改名或被刪除,追蹤停止 tail f 等同於 follow name retry,根據檔名進行追蹤,並保持重試,即該檔案被刪除或改名後,如果再次建立相同的檔名,會繼續追蹤 tailf 等同於tail f n 10...
tail f 和tail F的區別
flume抓取 exec 的command 官網有如下建議 以下內容來自 tail f,當檔案被刪除或移走後,即使重新建立的檔案也不會再出現新檔案內容。如下 第乙個視窗 root cftest2 tail f messages.3 helll test2 第二個視窗 root cftest2 rm ...
tail F和tail f的區別
tail help的解釋 tail f 等同於 follow descriptor,根據檔案描述符進行追蹤,當檔案改名或被刪除,追蹤停止 tail f 等同於 follow name retry,根據檔名進行追蹤,並保持重試,即該檔案被刪除或改名後,如果再次建立相同的檔名,會繼續追蹤 備註 一般生產...