[20170607]tail -F.txt

lfree發表於2017-06-07

[20170607]tail -F.txt

--//如果你看man tail文件,可以發現-F 與 -f 非常相似,但是存在一點點區別.

-f, --follow[={name|descriptor}]
      output appended data as the file grows; -f, --follow, and --follow=descriptor are equivalent

-F     same as --follow=name --retry


--//-F 多了一個--retry,也就是檔案刪除後或者被截斷後依舊可以使用.透過例子來說明:

1.測試-f:
--//終端1:
$ touch a.log
$ tail -f a.log

--//終端2:
$ echo 1111 >| a.log

--//終端1:
$ tail -f a.log
1111

--//終端2:
$ echo 2222 >> a.log

--//終端1:
$ tail -f a.log
1111
2222

--//終端2:
$ echo aaaa >| a.log

--//終端1:
$ tail -f a.log
1111
2222
tail: a.log: file truncated

--//終端2:
$ echo bbbb >> a.log

--//終端1:
$ tail -f a.log
1111
2222
tail: a.log: file truncated
bbbb

--//終端2:
$ rm a.log
/bin/rm: remove regular file `a.log'? y
$ echo cccc > a.log

--//終端1:
$ tail -f a.log
1111
2222
tail: a.log: file truncated
bbbb

--//可以發現不輸出cccc.

2.測試-F.
--//實際上2者的差別就在於刪除檔案,再加入內容後,tail -F可以顯示.

--//終端1:
$ tail -F a.log
cccc

--//終端2:
$ rm a.log
/bin/rm: remove regular file `a.log'? y

--//終端1:
$ tail -F a.log
cccc
tail: `a.log' has become inaccessible: No such file or directory

--//終端2:
$ echo dddd >>a.log

--//終端1:
$ tail -F a.log
cccc
tail: `a.log' has become inaccessible: No such file or directory
tail: `a.log' has appeared;  following end of new file
dddd

--//刪除檔案後在建立加入內容-F可以顯示.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2140374/,如需轉載,請註明出處,否則將追究法律責任。

相關文章