Linux watch command, To monitor a command

watch is an excellent command which can run scripts or commands at a regular intervals or repeatedly. This is very much useful when we want to see a command in continuously running phase similar to top command. This is very much useful when troubleshooting an issue and requires to monitor a command output continuously. If we consider top command it will continuously check the process states and memory details for every three seconds by default. We will see some useful examples of watch command in this post.

Linux watch command syntax

	watch [options] linux-command

Learn watch command with examples

Example1: Check the progress of cp command. By default cp command will not show any progress when coping data from one location to other. We can use watch command along with ls command or du command on the destination folder to see the progress.

	watch du -s /tmp/CentOS-6.2-i386-bin-DVD1.iso


	watch ls -s /tmp/CentOS-6.2-i386-bin-DVD1.iso

Note: To exit from watch command we have to press Ctrl+c to cancel or stop the process.

We created a screen cast and recorded below gif image for seeing the progress.


Example2: Dont have iptraf or vnstat commands and want to observe bandwidth stats, use watch command with ifconfig command.

	watch ifconfig



Example3: By default watch command runs a command or script for every two seconds by default, we can increase or decrease the interval by using -n option

Run ls command for every 1 second

	watch -n 1 ls -l

Run free command for every 1/10 second

	watch -n 0.1 free

Note: The minimum time watch can take is 0.1 second and not less than that. If you want to run a command less than that time we can create a daemon script using while loop. And if you want to run a command for every one hour or so we can use Linux scheduling "crontab". We can not view command output, if we run commands in crontab.

Example 4: Display changes in output of a command with -d option of watch command. Some times its required to see the difference between previous output and present output with some color difference, we can use this option.

	watch -d -n 1 free



Example 5: Dont want to see time ticking at the start at watch screen, we can use -t to suppress it.

	watch -t free

Hope this helps to troubleshoot issues in bit meaning ful way.

Show your love by sharing this..!
Share on VKShare on StumbleUponShare on YummlyPrint this pageFlattr the authorShare on TumblrEmail this to someoneBuffer this pageShare on Google+Share on LinkedInShare on FacebookTweet about this on TwitterPin on PinterestShare on RedditDigg this
The following two tabs change content below.
My name is Surendra Kumar Anne. I hail from Vijayawada which is capital of south Indian state of Andhra Pradesh. I am a Linux evangelist who believes in Hard work, A down to earth person, Likes to share knowledge with others, Loves dogs, Likes photography. I work with ICE systems, Sydney as Sr. Consultant. You can contact me at surendra (@) linuxnix dot com.
  • prr.suresh

    Hi Surendra,
    Wonderful explanation even though i know this watch command , it is very useful . keep it up man……..

  • Sreeraj D S

    Nicely explained. Thanks a lot!

  • Kevin J Lausen

    Wow… The most handy bunch of tricks I have seen in an article in a cery long time. When an article is as handy asthis one is, I always make sure and print out the article 2 pdf. reading this from13.04 lubuntu on my Lgx120 net-book.

  • Jordi

    hey surrenda, do you know of any way to show the actual time remaining till the command is ran again.
    I see that on the top of the console it is always shown “every X seconds: COMMAND” but is there a way to show this dinamicaly like: X seconds till new run of the command?