我想使用stat linux命令检查文件是否已更改。
linux @ server:〜/ $ stat test.txt文件:`test.txt'尺寸:23
块:8个IO块:4096个常规文件设备:802h / 2050d Inode:4887765链接:1访问:(0644 / -rw-r - r--)Uid:(1000 / anis)Gid:(1000 /
茴香)访问权限:2014-07-07 16:34:42.476315578 +0200
修改时间:2014-07-08 12:54:15.756553868 +0200
更改:2014-07-08 12:54:15.756553868 +0200
我们可以看到变化的时间。 目的是使用此更改时间来检查文件是否已修改
linux @ server:〜/ anis $ stat test.txt | grep更改
更改时间:2014-07-08 12:54:15.756553868 +0200linux @ server:〜/ anis $ stat test.txt | grep Change
更改时间:2014-07-08 15:14:03.107977776 +0200
那么如何使脚本在无限循环中运行以检查时间是否已更改?
答案 0 :(得分:2)
不要使用stat
。要简单地阻止,直到修改文件,请使用inotifywait
:
inotifywait -e modify test.txt
您可能希望等待限制较少的一组更改:
inotifywait test.txt
将阻止,直到文件上发生任何事件。另外,请考虑用户的理智:
inotifywait -qq test.txt
答案 1 :(得分:0)
如果您正在使用OpenWrt Buildroot,那么您可以在配置期间选择并安装inotify-tools(make menuconfig,或者您正在使用的配置)。
之后你可以像William Pursell所说的那样使用inotifywait。
2011年,用this patch添加了 inotify-tools 包。