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