8.7 用watch监视命令输出

我们可能需要在某段时期内以固定的间隔时间不断监视某个命令的输出。例如在复制大文件时,我们需要看到不断增长的文件的大小。为了做到这一点,新手们一般会重复输入命令并按回车。其实我们可以利用watch命令不断地查看输出。这则攻略就讲解了如何通过watch实现这种功能。

8.7.1 实战演练

watch命令可以用来在终端中以固定的间隔监视命令输出。该命令语法如下:

  1. $ watch COMMAND

例如:

  1. $ watch ls

或者

  1. $ watch 'COMMANDS'

例如:

  1. $ watch 'ls -l | grep "^d"'
  2. #只列出目录

命令默认每2秒更新一次输出。

我们可以用 -n SECOND指定需要更新输出的时间间隔。例如:

  1. $ watch -n 5 'ls -l'
  2. #以5秒为间隔,监视ls -l的输出

8.7.2 补充内容

让我们研究一下watch命令的其他特性。

突出(highlighting)watch输出中的差异

watch有一个选项可以将时间间隔前后的命令输出差异以不同颜色突出标示出来。选项 -d可以启用这一功能:

  1. $ watch -d 'COMMANDS'