【问题标题】:Can I access and change my iNode values of a file?我可以访问和更改文件的 iNode 值吗?
【发布时间】:2016-12-28 01:27:06
【问题描述】:

我知道 unix 系统中的文件是由它们的 inode 表示的。

作为用户,我可以访问这些值并进行更改吗?

  • 说,替换两个相邻块之间的值,这样改文件?

  • 我可以只覆盖中间的一个块吗?

我是在 C 中文件操作的上下文中提出这个问题的(我想编写一个附加到文件开头或中间部分的程序,而不仅仅是结尾)。

【问题讨论】:

    标签: c file unix append inode


    【解决方案1】:

    用户可以使用stat() 系统调用读取访问其中一些信息,前提是他对包含inode 的目录具有适当的访问权限。

    信息只能间接更改(时间戳,例如,通过访问文件本身)。没有direct 的方式来处理这些信息。

    某些文件系统可能会通过在ioctl() 调用中公开一些信息来提供更多访问可能性。可能会或可能不会暴露的是驱动程序/文件系统开发人员的决定。

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 2018-05-24
      • 2013-04-10
      • 2021-12-17
      • 2021-07-16
      • 2012-01-11
      相关资源
      最近更新 更多