每 N 秒重复一次 Linux 命令或 Shell 脚本
【摘要】 有时我想频繁(每隔几秒)重复一个命令(或 shell 脚本)。有没有更好的方法来每 n 秒执行一次 Linux 命令(而不是手动输入相同的命令)?
使用 watch 命令你可以每隔几秒执行一个命令并查看它的输出。这在监控内存使用情况、磁盘使用情况等时非常有用,
您可以使用 watch 命令执行任何 Linux 命令。Watch 命令将一直执行,直到您通过 CTRL+C 终止它或终止该进程。
有时我想频繁(每隔几秒)重复一个命令(或 shell 脚本)。有没有更好的方法来每 n 秒执行一次 Linux 命令(而不是手动输入相同的命令)?
使用 watch 命令你可以每隔几秒执行一个命令并查看它的输出。这在监控内存使用情况、磁盘使用情况等时非常有用,
您可以使用 watch 命令执行任何 Linux 命令。Watch 命令将一直执行,直到您通过 CTRL+C 终止它或终止该进程。
示例 1:使用 watch ls 监视文件创建
当您期望由后台进程创建文件时,或者当您期望日志文件的大小不断增长时,您可能最终会多次执行 ls 命令。相反,您可以使用 watch 命令,它将每 2 秒执行一次 ls 命令,如下所示。
$ watch ls
Every 2.0s: ls Thu Apr 15 16:11:58 2010
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb
watch 命令输出的第一行包含以下头信息:
- 每 2.0 秒:时间间隔。即 ls 将每 2 秒执行一次。
- ls :每 2 秒执行一次的 Linux 命令。
- 2010 年 4 月 15 日星期四 16:11:58:当前日期和时间。
其余行是 watch 正在执行的命令的输出。在此示例中,它显示 ls 命令的输出。
示例 2:显示已用和可用内存详细信息(突出显示差异)
-d 选项突出显示连续更新之间的差异。
$ watch -d free -om
Every 2.0s: free -om Thu Apr 15 16:11:59 2010
total used free shared buffers cached
Mem: 992 878 114 0 135 379 Swap: 4095 8 4087
如果您的系统上的内存输出没有改变,请尝试使用 date 命令的 -d 选项来查看它是如何工作的。
$ watch -d date
注意:您是否知道可以突出显示顶部命令输出中的更改?
示例 3:显示可用磁盘空间(每 10 秒重复一次)
默认情况下 watch 命令使用 2 秒间隔,您可以使用 -n 选项更改它。以下示例每 10 秒执行一次 df -h 命令。
$ watch -n 10 df -h
Every 10.0s: df -h Thu Apr 15 16:12:26 2010
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 30G 8.6G 20G 31% /
tmpfs 497M 964K 496M 1% /dev/shm
/dev/sda6 194M 22M 163M 12% /boot
示例 4:抑制输出中的监视标头
您可以使用选项 -t 抑制 watch 命令输出的第一行,如下所示。
$ watch -t ls
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)