Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 用于列出目录的类似于'tail-f file.txt'的命令_Linux_Bash_Shell_Unix_Sh - Fatal编程技术网

Linux 用于列出目录的类似于'tail-f file.txt'的命令

Linux 用于列出目录的类似于'tail-f file.txt'的命令,linux,bash,shell,unix,sh,Linux,Bash,Shell,Unix,Sh,是否有一个与文件类似的命令,该命令在文件增长时提供文件内容: tail -f file.txt 我正在搜索类似的内容,以列出目录内容,其中显示了创建目录时目录中的文件列表。您可以使用watch: Linux: 使用-n调整间隔: 备选方案:例如,macOS本机没有手表: while :; do clear; ls; sleep 2; done macOS:通过MacPorts或自制 您可以使用手表: Linux: 使用-n调整间隔: 备选方案:例如,macOS本机没有手表: while :;

是否有一个与文件类似的命令,该命令在文件增长时提供文件内容:

tail -f file.txt
我正在搜索类似的内容,以列出目录内容,其中显示了创建目录时目录中的文件列表。

您可以使用watch:

Linux:

使用-n调整间隔:

备选方案:例如,macOS本机没有手表:

while :; do clear; ls; sleep 2; done
macOS:通过MacPorts或自制

您可以使用手表:

Linux:

使用-n调整间隔:

备选方案:例如,macOS本机没有手表:

while :; do clear; ls; sleep 2; done
macOS:通过MacPorts或自制


你说你在Linux上。Linux内核有一个叫做inotify的东西,inotify工具为我们提供了命令行工具inotifwait和inotifwatch,它们可以打印出您正在监视的文件/目录中发生的任何低级事件

例如:

$ inotifywait -e CREATE -m . &
Setting up watches.
Watches established.
$ touch foo
./ CREATE foo # inotifywait output
$ touch foof
./ CREATE foof

其中-e CREATE指定注意文件创建,-m指定程序在收到第一个事件后不应退出。

您说您在Linux上。Linux内核有一个叫做inotify的东西,inotify工具为我们提供了命令行工具inotifwait和inotifwatch,它们可以打印出您正在监视的文件/目录中发生的任何低级事件

例如:

$ inotifywait -e CREATE -m . &
Setting up watches.
Watches established.
$ touch foo
./ CREATE foo # inotifywait output
$ touch foof
./ CREATE foof

其中-e CREATE指定注意文件创建,-m指定在收到第一个事件后程序不应退出。

watch通过自制的brew安装watch在macOS上可用。watch作为OP解决方案的问题在于它是基于屏幕的。如果是,它将显示一个不断增长的文件列表,但一旦该列表离开屏幕,它将不再显示更多的文件。根据终端窗口的大小,该限制将有所不同……通过自制的brew安装watch,macOS上可以使用watch。watch作为OP解决方案的问题在于它是基于屏幕的。如果是,它将显示一个不断增长的文件列表,但一旦该列表离开屏幕,它将不再显示更多的文件。该限制将根据终端窗口的大小而不同…非常好的解决方案。一个完整的解决方案可能会显示当前列表,然后只显示添加的新文件的名称:ls&&inotifywait-e CREATE-mcut-d''-f3-@Guss这里有一个不可避免的争用条件,涉及可能在第一个作业运行之后但在第二个作业运行之前创建的文件。您可以先启动inotifywait,在这种情况下,您可能会看到两次中间文件,但据我所知,没有办法只查看一次每个文件。非常好的解决方案。一个完整的解决方案可能会显示当前列表,然后只显示添加的新文件的名称:ls&&inotifywait-e CREATE-mcut-d''-f3-@Guss这里有一个不可避免的争用条件,涉及可能在第一个作业运行之后但在第二个作业运行之前创建的文件。您可以先启动inotifywait,在这种情况下,您可能会看到中间文件两次,但据我所知,没有办法只看到每个文件一次。
$ inotifywait -e CREATE -m . &
Setting up watches.
Watches established.
$ touch foo
./ CREATE foo # inotifywait output
$ touch foof
./ CREATE foof