从其索引节点号获取文件名

时间:2019-03-19 06:28:57

标签: c linux ubuntu ubuntu-18.04

C程序中,我获得了文件的inode编号,并且需要获取该inode编号的文件名。

我有一个提示,该提示获取此inode编号的目录条目,并且当然将具有文件名。但是我无法弄清楚如何从其inode编号获取文件的目录条目。 我需要在C程序和Ubuntu中执行此操作。有解决方案吗?

1 个答案:

答案 0 :(得分:0)

  

在C程序中,我获得了文件的索引号,并且需要获取此索引号的文件名。

一个单个文件,由其索引节点号标识,可以与任何数量的链接(也称为“目录条目”或“名称”)关联。 (这要复杂得多,因为打开的文件具有其他链接,这些链接可能是目录条目,也可能不是目录条目,但这对我们而言并不重要)。可以自由添加和删除引用同一文件(inode)的链接(除非该文件实际上是目录)。该文件不跟踪与其关联的链接。它仅跟踪其 number (参考计数)。一旦链接数降为零,该文件即被删除。

仅给出一个inode编号,绝对没有办法找到任何或所有与其关联的目录条目,除非检查文件系统的 all 目录条目。

上面的链接是 hard 链接。软链接完全是另外一回事。