我正在编写一个 bash 脚本,我想监控文件更改到目录(添加、删除和重命名)并相应地执行不同的操作。
有没有办法直接从我的脚本中做到这一点(除了定期ls
目录和 make diff
s)?
您可以使用该inotifywait
命令(假设您的发行版支持 inotify,大多数都支持):
inotifywait -m -r --format '%f' -e modify -e move -e create -e delete ~/test | while read line
do
echo "File: $line"
done
只是一个想法。如果仅允许在bash中执行此操作,则可以在目录内容上生成 md5sum。可能您可以在该目录中拥有文件名、修改时间、索引节点修改时间等。