Linux的watch命令 -- 实时监测命令的运行结果

watch 是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch
可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。
直接在 watch 后面接你想运行的命令,watch
就会帮你重复运行,并把每次的结果都更新在屏幕上。
默认 watch 会以 2s 的间隔重复运行命令,你也可以用 -n
参数指定时间间隔~
还有一个实用的参数是 -d,这样 watch 会帮你高亮显示变化的区域,这样更加一目了然了~
Ctrl+c
就可以退出~
你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls
监测某个文件的大小变化,看你的想象力了~
FreeBSD和Linux下watch命令的不同

在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。
-d, --differences[=cumulative] 
     高亮显示变动
-n, --interval=              周期(秒)
如:watch -n 1 -d netstat
-ant
而在FreeBSD下的watch命令是查看其它用户的正在运行的操作,watch允许你偷看其它terminal正在做什么,该命令只能让超级用户使用。
如何运行watch:
[root@pdc
conf]# who
root             ttyp0    Oct  2 21:48 (192.168.x.x)
root    
        ttyp1    Oct  2 22:25 (192.168.x.x)
xxhui            ttyp3    Oct  2
23:48 (192.168.x.x)
[root@pdc conf]# watch
ttyp3

watch命令详解
NAME
       watch - execute a program
periodically, showing output fullscreen
SYNOPSIS
      
watch  [-dhvt]  [-n ] [--differences[=cumulative]] [--help] [--interval=]
[--no-title] [--version]
DESCRIPTION
       watch runs command
repeatedly, displaying its output  (the  first  screenfull). 
This  allows  you  to watch the program output change over time.  By default,
the program is  run every 2 seconds; use -n or --interval to specify a different
interval.
       The -d
or  --differences  flag  will  highlight  the  differences  between  successive
updates.   The  --cumulative  option makes highlighting "sticky", presenting a
running display of all positions that have ever changed.  The -t
or  --no-title  option  turns off  the header showing the interval, command, and
current time at the top of the display, as well as the following blank line.
watch will run until interrupted.
NOTE
       Note that command is
given to "sh -c" which means that you may need to use extra quoting to get the
desired effect.
       Note  that POSIX option processing is used (i.e.,
option processing stops at the first non-option argument).  This means that
flags after command don't  get  interpreted  by watch
itself.
EXAMPLES
       To watch for mail, you might do:    watch
-n 60 from
       To watch the contents of a directory change, you could
use:   watch -d ls -l
       If youre only interested in files owned by user
joe, you might use: watch -d 'ls -l | fgrep joe'
       You can
watch for your administrator to install the latest kernel with:  watch uname
-r  (Just kidding.)呵呵
BUGS
       Upon terminal resize, the screen
will not be correctly repainted until the next scheduled update.  All
--differences highlighting is lost on that update as well.
      
Non-printing characters are stripped from program output.  Use "cat -v" as part
of the command pipeline if you want to see them.

posted @ 2013-05-02 22:02  xjx_user  阅读(150)  评论(0编辑  收藏  举报