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

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

ls -l

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


当前回答

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

watch -n 1 'ps aux | grep php'

其他回答

如果命令中包含一些特殊字符,如管道字符、引号等,则需要使用引号进行填充。例如,要重复ls -l | grep "txt",则watch命令应为:

查看-n 5 'ls -l | grep "txt"'

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

while true; do ls -l; sleep .5; done
watch -n 5 'ls -l 

Runls -l会每隔5秒命令一次吗

输出:

Every 5.0s: ls -l                                                                                                      Fri Nov 17 16:28:25 2017

total 169548
-rw-rw-r--  1 sachin sachin     4292 Oct 18 12:16 About_us_Admission.doc
-rw-rw-r--  1 sachin sachin      865 Oct 13 15:26 About_us_At_glance.doc
-rw-rw-r--  1 sachin sachin     1816 Oct 13 16:11 About_us_Principle.doc
-rw-rw-r--  1 sachin sachin     1775 Oct 13 15:59 About_us_Vission_mission.doc
-rw-rw-r--  1 sachin sachin     1970 Oct 13 16:41 Academic_Middle_school.doc
-rw-rw-r--  1 sachin sachin      772 Oct 16 16:07 academics_High_School.doc
-rw-rw-r--  1 sachin sachin      648 Oct 16 13:34 academics_pre_primary.doc
-rw-rw-r--  1 sachin sachin      708 Oct 16 13:39 academics_primary.doc
-rwxrwxr-x  1 sachin sachin     8816 Nov  1 12:10 a.out
-rw-rw-r--  1 sachin sachin    23956 Oct 23 18:14 Ass1.c++
-rw-rw-r--  1 sachin sachin      342 Oct 23 22:13 Ass2.doc
drwxrwxr-x  2 sachin sachin     4096 Oct 19 10:45 Backtracking
drwxrwxr-x  3 sachin sachin     4096 Sep 23 20:09 BeautifulSoup
drwxrwxr-x  2 sachin sachin     4096 Nov  2 00:18 CL_1
drwxrwxr-x  2 sachin sachin     4096 Oct 23 20:16 Code
drwxr-xr-x  2 sachin sachin     4096 Nov 15 12:05 Desktop
-rw-rw-r--  1 sachin sachin        0 Oct 13 23:12 doc
drwxr-xr-x  4 sachin sachin     4096 Nov  6 21:18 Documents
drwxr-xr-x 27 sachin sachin    12288 Nov 17 13:23 Downloads
-rw-r--r--  1 sachin sachin     8980 Sep 19 23:58 examples.desktop

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

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

众多想法之一。

Sleep已经返回0。因此,我使用:

while sleep 3 ; do ls -l ; done

这比米哈伊尔的解要短一点。一个小缺点是它在第一次运行目标命令之前处于休眠状态。