Watch contents of a file grow

tail -n 0 -f /var/log/messages
In this case, I'm keeping an eye on /var/log/messages, but of course any file will do. When I'm following a file, I generally don't want to see anything other than what has been added due to the command or service I've executed. This keeps everything clean and tidy for troubleshooting.

3
By: atoponce
2009-03-02 14:21:18

These Might Interest You

  • Watch file's contents that is getting overwritten Show Sample Output


    0
    while sleep 1; do clear; cat /tmp/whatever.cue; done
    sergeylukin · 2012-11-26 08:02:03 0

  • 0
    watch -d "free -mt"
    srineer · 2009-02-18 14:46:54 1
  • This command repeatedly gets the specified process' stack using pstack (which is an insanely clever and tiny wrapper for gdb) and displays it fullscreen. Since it updates every second, you rapidly get an idea of where your program is stuck or spending time. The 'tac' is used to make the output grow down, which makes it less jumpy. If the output is too big for your screen, you can always leave the 'tac' off to see the inner calls. (Or, better yet--get a bigger screen.) Caveats: Won't work with stripped binaries and probably not well with threads, but you don't want to strip your binaries or use threads anyway. Show Sample Output


    8
    watch -n 1 'pstack 12345 | tac'
    mkc · 2009-02-05 18:17:00 3
  • Ever need to erase the contents of a file and start over from scratch? This easy command allows you to do so. Be warned! This will immediately erase all the contents of your file and start you over from scratch (i.e. your file will be at 0 bytes, like if you touch a file). Show Sample Output


    -3
    > [filename]
    bbbco · 2011-05-18 14:59:02 3

What Others Think

Never thought about that. It's true when you monitor a log file, only new lines are of any interest !
CodSpirit · 481 weeks and 5 days ago
Good idea :)
raphink · 481 weeks and 5 days ago
You can use it without "-n 0". Just tap enter several times to get some free space between old and new lines. This might be helpful by watching logfiles - while - they grow.
Bender · 481 weeks and 5 days ago
I find it useful to associate this with screen splitting in screen. From within a screen session : ^A S : split the screen tail -n 0 -f /var/log/syslog ^A ^I : focus on the second panel ^A ^C : create a new screen session in the panel Do your actions in the second panel while you watch your file in the panel on top. Use ^A ^I to switch between panels.
raphink · 481 weeks and 4 days ago
@raphink why not use Yakuake and you have your log to your right and you can keep executing commands in your left.
wrongloop · 473 weeks and 6 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this?

commandlinefu.com is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands



Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: