objective-c - 是否有任何函数可以检索与 inode 关联的路径?

标签 objective-c macos inode

我正在编写一个实用程序,它遍历 Mac OS X(10.6 及更高版本)上的目录树,并尝试检测自目录上次与备份位置同步以来发生的更改。

当我最初同步文件和文件夹时,我获取 inode 编号并将其存储在该文件或文件夹的数据库记录中:

NSString *oldFilePath = /* ... */;
NSError *error = nil;
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:oldFilePath error:&error];
/* set database record for oldFilePath to [attributes fileSystemFileNumber] */

当我遇到新文件或文件夹时,我首先使用 inode 编号进行数据库查找以查找原始文件(如果有的话)。

但如果文件已从父目录移动到子目录,并且我正在尝试检测对父目录的更改,我希望能够使用保存的 inode 编号来识别新路径这样我就可以区分移动和删除。

最佳答案

在 Mac 上,GetFileInfo 命令执行 inode 编号的反向查找。

GetFileInfo /.vol/234881029/344711

应该产生:

file: "/path/to/file"
...

Martin R 的回答仅适用于目录。

关于objective-c - 是否有任何函数可以检索与 inode 关联的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11951328/

相关文章:

ios - 使用平移手势移动 CALayer 时延迟

macos - nvcc 未知选项 -no_pie

c - 如何使用 stat() 确定文件是否为符号链接(symbolic link)?

linux - 查找具有相同 inode 的所有文件的最快方法是什么?

linux - QT 配置 - QFSFileEngine::currentDirectory 无法统计 (".")

ios - 如何在 Objective c 中使用 AES 加密发送 CommonCrypto POST 请求?

objective-c - Objective-C 中使用自定义 DNS 服务器进行 DNS 查找

iphone - 来自 ios webview 的 Cookie

python - 使用 fill(color) 方法时 pygame 崩溃

python - Mavericks 上的 Django 和 mysql 问题