没啥意思的站点

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增色很多哦。

8 评论

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

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

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

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

    while :; do ls;sleep 1; echo -e "e[2J";done
    • 恩,给你加上标签,用 clear 命令清屏,不更好吗?

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

        echo -ne "e[2Je[0;0H"

发表评论