<分区>
我在其中创建了一个文件夹和文件(在 linux 中),然后我使用以下命令获取每个文件和目录的 inode 编号:
ls -i -R
但是当我使用另一台计算机执行相同的任务时,每个 inode 得到不同的数字,我知道这是合理的,但每个人都可以解释一下原因吗?我的意思是为什么不同计算机的结果不同?
<分区>
我在其中创建了一个文件夹和文件(在 linux 中),然后我使用以下命令获取每个文件和目录的 inode 编号:
ls -i -R
但是当我使用另一台计算机执行相同的任务时,每个 inode 得到不同的数字,我知道这是合理的,但每个人都可以解释一下原因吗?我的意思是为什么不同计算机的结果不同?
最佳答案
安inode (or index node)是指针/标识符,在文件系统的内部数据结构中使用。
因此,不同的计算机有不同的文件系统 - 谈论数据,而不是类型/实现! - 因此资源具有不同的 inode 值。 inode 是内部标识符,而路径是外部标识符。
打个比方,想象一下现代操作系统中的 C 程序 malloc 一个新对象。 malloc 返回进程内 的唯一指针。然而,许多进程在引用完全不相关的对象时可以共享相同的指针值(当被视为整数地址时)。
关于linux - 为什么 inode 编号因计算机而异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20204760/