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

or

	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.

Watch-copy-files-linux

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

	watch ifconfig

Output:

watch-ifconfig-linux

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 it’s required to see the difference between the previous output and present output with some color difference, we can use this option.

	watch -d -n 1 free

Output:

Watch-free-linux

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.

The following two tabs change content below.
Mr Surendra Anne is from Vijayawada, Andhra Pradesh, India. He is a Linux/Open source supporter who believes in Hard work, A down to earth person, Likes to share knowledge with others, Loves dogs, Likes photography. He works as Devops Engineer with Taggle systems, an IOT automatic water metering company, Sydney . You can contact him at surendra (@) linuxnix dot com.