I am LAZY bones? AN ancient AND boring SITE

watch

watch命令包含在procps软件包内,procps是linux下一个很有用的基础包,里面包含了ps、pgrep、pkill、top、uptime、w等重要又常用的命令。
watch的具体功能就是定时执行后面跟的命令,并不间断地把输出命令的标准输出。
例如:

watch -d -n 1 free

就可以监视内存使用率的状况了,原理就是每秒调用一次free,并集中显示结果。其中,-d表示高亮不同的地方,-n 1表示每1秒执行一次(默认是2秒)。此命令需要用Ctrl+C来结束。
另一个例子:

watch -d "ls -l /var/log/ | grep -v gz$"

可以监视/var/log下的日志的变化情况。
另外:如man页所示,执行下面三个命令来体会单引号和双引号的区别

watch echo $$
watch echo '$$'
watch echo "'"'$$'"'"

灵活运用此命令,可以让你的CLI增色很多哦。

最后修改时间: 2009年10月20日 16:26

本文章发表于: 2009年10月20日 16:22 | 所属分类:CLI软件. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

8 个评论 关于: “watch”

  1. TualatriX 在 2009年10月20日 16:52 说:回复

    好厉害,不愧是shell大神,watch的例子真是生龙活虎!

  2. idiot 在 2009年10月20日 18:52 说:回复

    我都没有用过这个命令……太萎了

  3. ray 在 2009年10月21日 17:42 说:回复

    骨头绝对是个系统管理员~

    • bones7456 在 2009年10月22日 08:32 说:回复

      恩,我是我神舟本的管理猿。。。

  4. kangkang 在 2009年10月21日 18:07 说:回复

    经常用来当表用,watch -n 1 :
    也经常山寨watch,因为它不支持中文,有stderr显示乱:

    while :; do ls;sleep 1; echo -e "e[2J";done
    • bones7456 在 2009年10月22日 08:36 说:回复

      恩,给你加上标签,用 clear 命令清屏,不更好吗?

      • kangkang 在 2009年10月23日 23:04 说:回复

        clear慢,而且有些环境里没有这命令,当时为了避开这个问题就改用这个了,于是就一直用了,下面这个有clear一样的效果(不知道怎么加标签。。):

        echo -ne "e[2Je[0;0H"
  5. shan 在 2009年10月27日 08:30 说:回复

    学习了。

发表评论