在Linux命令行中,是否有可能每n秒重复一次命令?

假设,我有一个导入正在运行,我正在做

ls -l

检查文件大小是否在增加。我想有一个命令,有这个自动重复。


当前回答

手表是好的,但会清洁屏幕。

watch -n 1 'ps aux | grep php'

其他回答

每5秒看一次……

看-n 5 ls -l

如果您希望可视化地确认更改,可以在ls命令之前添加——differences。

根据OSX手册页,还有

-cumulative选项使高亮显示“粘性”,显示一个 运行显示所有曾经改变的位置。- t 或者——no-title选项关闭显示间隔的标题, 命令,并在顶部显示当前时间,以及 下面是空行。

Linux/Unix手册页可以在这里找到

while true; do
    sleep 5
    ls -l
done

您可以运行以下命令并仅过滤大小。如果文件名为somefilename,可以执行以下操作

而:;Do ls -lh | awk '/some*/{print $5}';睡眠5;完成

众多想法之一。

在Busybox中,“watch”一秒都不允许,而“sleep”一秒允许。如果这对你来说很重要,试试这个:

while true; do ls -l; sleep .5; done

为了更容易地减少漂移,使用:

while :; do sleep 1m & some-command; wait; done

由于bash运行循环结构和sleep命令实际执行的时间,仍然会有少量的漂移。

提示:':'的值为0即为真。