PHP中,fileinode()函数返回文件的inode.我想知道我是否可以用它来确定文件是否被重命名,移动或修改.

我做了一些测试,似乎重命名后inode保持不变.这种行为是否一致?它适用于任何类型的文件,在任何Linux发行版上?

解决方法:

不跨越文件系统边界的文件重命名只是元数据更改,因此它应保留inode编号.一般来说,打开文件并修改其内容不应该改变其inode编号,这只能在单个文件系统中有意义(例如,它会改变访问时间).请注意,某些工具(如文本编辑器)倾向于创建一个全新的文件而不是写入,这将导致使用新的inode.


如果您的目标是检查文件的更改,则检查访问时间和大小可能更可靠.

标签: linux, inode, files, filesystems

相关文章推荐

添加新评论,含*的栏目为必填