【问题标题】:how to get directory name by inode value in c?如何通过c中的inode值获取目录名称?
【发布时间】:2011-06-04 02:24:08
【问题描述】:

我正在尝试向 bash 添加一个新功能 并且作业需要一个函数来从给定的 inode 值中获取目录名称 那么如何得到这个工作呢?我的意思是如果bash的源代码中有一些内置函数 如果没有,任何帮助都将被接受

【问题讨论】:

  • inode 是您想要命名的目录的 inode,还是您想知道其名称的某个包含目录中的文件的 inode?​​span>
  • 您确实意识到给定文件可以位于多个不同的目录中,不是吗?
  • 您能否举例说明如何使用此功能(以及它的用途)?

标签: c bash unix filesystems directory


【解决方案1】:

列出目录并获取.. 的inode,然后列出该目录并在其中找到包含您要查找的inode 的文件的名称。

【讨论】:

  • 只知道inode怎么列出目录? (这与拥有文件描述符有很大不同。)
  • @ephemient:哎呀。我想这似乎是一件有用的事情,我认为你可以在不进入内核的情况下做到这一点。
  • 好吧,我是中国人,我的linux系统配置为zh_CN.utf-8 lang,但是你知道windows的默认编码不是这个,一旦我使用scp复制文件从 windows 到我的 linux 服务器,然后保持原始编码,所以它会在我的 linux 服务器上显示质量,我想我可以使用 ls -i 显示所有文件或目录的 inode 值,然后使用 cd -i inode_value 输入显示质量的目录
  • 这个答案对我的目的地关闭
【解决方案2】:

如果不通过文件系统搜索包含具有给定 inode 的文件的目录,这是不可能的。文件名是对没有反向链接的 inode 的命名引用。

【讨论】:

  • 注: btrfs 有/将有反向链接。
猜你喜欢
  • 2014-05-09
  • 2017-04-14
  • 2011-01-10
  • 2014-07-27
  • 2014-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-12
相关资源
最近更新 更多