我对inode号的定义感到惊讶:
inode是传统Unix风格文件系统上的数据结构 例如UFS或ext3。 inode存储有关常规的基本信息 文件,目录或其他文件系统对象。 Source
因此每个inode编号必须有一个逻辑顺序。你能直接从前面的数字中得出结论吗?
4214970 0 drwx------ 102 user staff 3.4K Feb 2 22:34 new
5728909 0 drwx------ 3 user staff 102B Mar 25 22:11 new_new
5415906 0 drwx------ 15 user staff 510B Mar 19 02:28 stdout_TEST
如果没有,由于数据结构,你可以知道什么样的事情?
答案 0 :(得分:6)
inode编号不是inode。 :)您可以将inode编号视为inode的主键。
至于如何确定inode号,它取决于文件系统。有些文件系统甚至可能凭空创建inode数据(特别是一些FUSE文件系统)。其他时候它可能直接映射到磁盘上的位置。不幸的是,这是一个有点过时的概念,许多现代文件系统很难将其内部位置信息压缩成32位数字。
在任何情况下,作为应用程序员,应该将inode编号视为不透明值,仅适用于相等比较(并且只有在您确定文件未被删除时才会被删除,因为可以重用inode编号。 ..)
答案 1 :(得分:3)
你能直接从前面的数字中得出结论吗?
不一定。 Inode被回收利用。
如果没有,由于数据结构,你可以知道什么样的事情?
检查包含适用于特定文件系统的struct
定义的头文件(例如,对于ext2和ext3,/usr/include/linux/ext2_fs.h
)。