当我创建一个新文件(例如,触摸file.txt)它的大小等于0B。我想知道它的信息(大小,最后修改日期,所有者名称,文件名)存储在哪里。这些信息存储在硬盘上,并由内核管理,当然,但我很想知道更多关于它们的信息:我可以从哪里以及如何获得它们,例如,使用C编程语言,以及如何更改它们。这些信息是可以改变的,只是使用一种编程语言,还是内核可以避免这种操作?
我的工作是基于Unix的文件系统,我特别询问关于这个文件系统的信息。
发布于 2012-02-24 22:51:59
发布于 2012-02-24 22:50:37
可以使用stat()函数(及其系列中的其他函数)检索此信息。它的存储位置取决于特定的文件系统,由于显而易见的原因,除非您对驱动器具有原始访问权限,否则不能更改它们--应该避免这种情况,除非您同意丢失该驱动器上的所有内容。
发布于 2012-02-24 22:52:21
诸如所有者、大小和日期等元数据通常存储在一个名为index-node (inode)的结构中,该结构驻留在文件系统的超级块中。
https://stackoverflow.com/questions/9432661
复制相似问题