我有一个在已知目录中创建许多文件的过程,而判断其进度的唯一方法是手动键入ls
。有没有一种方法可以ls
在创建新文件时自动更新更新的输出,类似于tail -f
工作原理?由于它们的名称,每个新文件都会出现在列表的末尾,因此我不必担心它们出现在中间。
答案1
您可以使用如下命令:
watch ls
循环执行ls
命令
如果列表太长,您可以添加-C
到ls
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