文件是否有唯一的ID?

时间:2009-06-13 19:26:04

标签: file debian samba smb

我的问题How do you track files in SMB with an application?打开了,我想知道是否有文件的唯一ID,以便我可以跟踪文件/文件夹的移动时间。有这样的事吗?它可能非常具有debian特性

2 个答案:

答案 0 :(得分:2)

答案一如既往地“取决于”。你对'独特的身份'是什么意思?如果文件的内容被更改,这个id会改变,还是你认为它是同一个文件?在Unix中,inode与设备一起定义了“唯一ID”,但即使内容发生变化,这也会保留。

如果您现在想触摸文件,可以在同一台机器上使用inotify来查找文件(或其前身:dnotify)会发生什么。

如果你需要在机器上使用它,那么我认为samba会使用inotify来获得通知并将其转换为SMB / CIFS事件,但我对此并不熟悉。

如果您想要基于内容的ID并因此使用哈希,则需要转到用户空间。例如,这正是Git(版本控制系统)所做的:它跟踪内容的哈希值以获得“唯一ID”。

答案 1 :(得分:1)

如果不打算移动文件,则可以使用哈希。

如果您可以在后台运行守护程序,则使用inotify编写程序以监控移动事件。

如果你不能这样做,你可以使用inode号码(但可以在文件移动时改变)。