在Linux上通过标识跟踪文件

在Linux上通过标识跟踪文件,linux,file,filesystems,Linux,File,Filesystems,在OSX上,有一个API可以为磁盘上的给定文件创建“书签”,即使文件被移动或重命名,它也会跟踪其目标。然后,OSX应用程序可以序列化书签,以任何它想要的方式存储它,并在稍后的某个日期(可能在退出并重新启动后)反序列化书签并解析其中的文件路径 Linux是否存在类似的功能? 我想inotify就是你想要的。 使用inotify,您可以监视文件的以下事件: IN_ACCESS - read of the file IN_MODIFY - last modification IN_ATTRIB - a

在OSX上,有一个API可以为磁盘上的给定文件创建“书签”,即使文件被移动或重命名,它也会跟踪其目标。然后,OSX应用程序可以序列化书签,以任何它想要的方式存储它,并在稍后的某个日期(可能在退出并重新启动后)反序列化书签并解析其中的文件路径

Linux是否存在类似的功能?

我想inotify就是你想要的。 使用inotify,您可以监视文件的以下事件:

IN_ACCESS - read of the file
IN_MODIFY - last modification
IN_ATTRIB - attributes of file change
IN_OPEN - open of file
IN_CLOSE_WRITE - sent when a file opened for writing is closed
IN_CLOSE_NOWRITE - sent when a file opened not for writing is closed
IN_MOVED_FROM and IN_MOVED_TO - when the file is moved or renamed
IN_DELETE - a file/directory deleted
IN_CREATE - a file in a watched directory is created
IN_DELETE_SELF - file monitored is deleted

inotify只在进程运行时起作用,不是吗?我看不到任何方法可以在进程重新启动时持久保存inotify实例。@NickHutchinson是的。如果您希望在自己的应用程序中记录给定文件的事件,则该解决方案无法实现。用inotify制作一些监视器守护程序怎么样?监视器守护进程记录给定文件的事件,您自己的应用程序使用该日志信息。听起来很尴尬?听起来确实很尴尬,但这似乎是唯一的办法。