如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#1

帖子 科学之子 » 2014-04-09 21:53

如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)
具体就是想跟踪lubuntu的快速启动栏,lubuntu默认右边有一个快速启动栏,里面有一个shutdown,但不知道这个是怎么添加的.
所以想通过新增一个项目,然后搜索发生变化的文件,以此来判断是哪个配置文件在控制这个快速启动栏.

Fri Apr 11 02:44:29 CST 2014补充:
感谢YeLee的解答.
不过可能是他打错了,拿去搜索,提示是inotify,inotify是一个用于监控文件变化的API(又长了一个知识).
使用起来自然没有现成的命令方便.
仔细检查man find 的内容后发现,其实可以用find -newer来变通:

就是find -newer 来寻找比指定文件更新的文件.
利用这个功能,先新建一个文件"flag",再修改配置,然后再find -newer flag 即可找到修改时间比flag晚的文件,配置文件自然就无法逃脱了.(使用前最好先尽可能关闭无关程序,以避免有过多的无关文件被修改,造成混乱)
上次由 科学之子 在 2014-04-11 2:49,总共编辑 1 次。
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#2

帖子 YeLee » 2014-04-09 22:05

dnotify :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#3

帖子 eexpress » 2014-04-10 9:42

YeLee
● 鸣学
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#4

帖子 YeLee » 2014-04-10 9:46

好开心啊,终于得到ee大神的肯定了,决定今晚去庆祝一下。 :em11
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#5

帖子 科学之子 » 2014-04-11 2:43

YeLee 写了:dnotify :em01
貌似是inotify?
感谢解答,不过貌似有一个更简单的方法.
就是find -newer 来寻找比指定文件更新的文件.
利用这个功能,先新建一个文件"flag",再修改配置,然后再find -newer flag 即可找到修改时间比flag晚的文件.
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#6

帖子 YeLee » 2014-04-11 9:07

inotify那是更老的东西吧,dnotify是event触发的,find那是基于实时结果的。
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#7

帖子 eexpress » 2014-04-11 10:08

你这要求,不太适合find。因为new的参数,通常没秒。

一定要find,可以参考 viewtopic.php?f=21&t=456557 的2个脚本。
● 鸣学
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#8

帖子 astolia » 2014-04-12 22:30

YeLee 写了:inotify那是更老的东西吧,dnotify是event触发的,find那是基于实时结果的。
你记反了。inotify是2.6.13内核里引进的,dnotify是2.4引进的,而且已经被inotify取代了。虽然这两玩意儿都被2.6.30的fsnotify取代了,但对userspace的接口还没变
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#9

帖子 YeLee » 2014-04-12 22:47

原来如此,谢谢8L纠正了。 :em06
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
科学之子
帖子: 2284
注册时间: 2013-05-26 6:58
系统: Debian 9

Re: 如何寻找"最近几秒钟"修改的文件?(主要是想跟踪配置文件变化)

#10

帖子 科学之子 » 2014-04-15 14:15

eexpress 写了:你这要求,不太适合find。因为new的参数,通常没秒。

一定要find,可以参考 viewtopic.php?f=21&t=456557 的2个脚本。
我shell编程盲,但凭借对编程语言的常识,粗略判断这个也只能精确到分钟吧?
find貌似没有直接的选项来将搜索时间精确到秒.
不过-newer确实可以区分新旧文件(精度应该接近到秒,甚至更小单位),我实际测试了一下,我这里的find -newer可以非常精确,我用sleep 1的延时测试,标记文件修改之后,几乎可以马上找到文件.
具体测试方法就是一个shell A开着watch -n0.5 find -newer 标记文件
另一个shell会话B echo >标记文件;延时1秒;修改文件一下"测试文件".
整个语句执行完毕后几乎同时,shell A中就出现了被修改的"测试文件".
回复