tail -f x.log

I use this command to see a growing log file in the command prompt.

I am interested only in seeing the log lines that are written to the file after running tail -f and not interested in the logs that were written to the file before doing tail -f. But tail -f command on start, takes the last 10 lines and displays it.

This confuses me, at times if these logs are freshly generated (or) they are old logs?

So, how can i customize tail -f to output only the new entries?

4 Answers 4


You can try:

tail -n0 -f x.log

From man page:

-n, --lines=K
output the last K lines, instead of the last 10; or use -n +K to output lines starting with the Kth


You can use the -n0 option to show 0 lines. So

tail -n0 -f some.log

You can also use less command like

  1. less file_name.log (log file will be opened and will show first page of the log file)
  2. press shift + f (to act same as like tail -f)
  3. In case if you need to search for any keyword in log file. press ctrl + c to exit the tail mode and search for the keyword as /keyword and ?keyword.
  • This does not view only the new entries in a growing log file.
    – Spooky
    Commented Apr 8, 2018 at 22:38

I've created this approach when I had to monitor entries inside docker container:


function HEART_BEAT() {
    LOG_COUNT_NEW=$(wc -l $LOGS | awk '{ print $1 }')
    tail -n $(( $LOG_COUNT_NEW - $LOG_COUNT )) $LOGS

Hope this helps!

You must log in to answer this question.