有没有办法让 ls 监听更改并更新类似于 tail -f 的输出?

有没有办法让 ls 监听更改并更新类似于 tail -f 的输出?

我有一个在已知目录中创建许多文件的过程,而判断其进度的唯一方法是手动键入ls。有没有一种方法可以ls在创建新文件时自动更新更新的输出,类似于tail -f工作原理?由于它们的名称,每个新文件都会出现在列表的末尾,因此我不必担心它们出现在中间。

答案1

您可以使用如下命令:

watch ls

循环执行ls命令

如果列表太长,您可以添加-Cls

watch ls -C

或者您可以使用以下命令创建显式循环while

while [ 1 ]
 do
  clear
  ls
  sleep 60
done

答案2

您可以使用这样的脚本来监视每个更改,并在任何更改之后它会生成一个LS按日期排序。为了能够执行它,你需要inotify 工具安装。该脚本如下:

#!/bin/bash
DIRECTORY="your_directory_path"
inotifywait -m -r -e create --format '%w%f' "${DIRECTORY}" | while read NEW
do
        ls -hltr
done

相关内容