Tail

tail 是否讀取整個文件?

  • August 14, 2019

如果我想要tail一個 25 GB 的文本文件,該tail命令會讀取整個文件嗎?

由於文件可能分散在磁碟上,我想它必須這樣做,但我不太了解這些內部結構。

不,tail不讀取整個文件,它會尋找到最後,然後向後讀取塊,直到達到預期的行數,然後它以正確的方向顯示行直到文件結束,並可能繼續監視文件,如果-f使用該選項。

但是請注意,tail如果提供了不可搜尋的輸入,則別無選擇,只能讀取整個數據,例如從管道讀取時。

同樣,當被要求查找從文件開頭開始的行時,在支持時使用tail -n +linenumber語法或tail +linenumber非標準選項,tail顯然會讀取整個文件(除非被中斷)。

引用自:https://unix.stackexchange.com/questions/102905