Windows有像Linux一样的Inode数字吗?

Windows有像Linux一样的Inode数字吗? Windows如何在内部pipe理文件?

所使用的术语与你在Unix世界中find的有些不同,然而就具有唯一标识文件的整数而言,NTFS和一些Windows API暴露了类似的“文件ID”的概念。

您可以通过GetFileInformationByHandle查询打开的句柄的文件ID。 请参见nFileIndexHighnFileIndexLow ; 这是64位的文件ID的高和低部分。

NtCreateFile也可以通过它的ID打开一个文件。 请参阅FILE_OPEN_BY_FILE_ID标志。 您需要一个通过文件ID打开的卷处理。

这个问题是关于文件系统比我相信一个特定的操作系统。 每个文件系统处理文件的方式不同(每个操作系统可以支持多个文件系统)。

http://pcnineoneone.com/howto/filesystems1/在FAT和NTFS上有相当不错的写法,这是两个stream行的文件系统与Windows。;

是。 NTFS使用B树索引系统。 MFT中的每个文件都有一个64位的文件索引号。 该号码称为文件ID,唯一标识文件只在其卷中。 也就是说,同一台PC上的两个独立卷上的两个文件可能具有相同的文件ID。 有关更多详细信息,请参阅此MSDN文章。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx

关于你的第二个问题,“如何在Windows内部pipe理文件”,请参阅这个technet文章:

https://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx

这里有两件事。 术语INode,以及使用INode术语或类似于INode的东西的文件系统实现。

所有的Windows文件系统(FAT *,NTFS)我都知道,在实际的实现中使用类似Inode的结构。

为了进一步简化答案

(将INode视为一个关于文件的元数据块。)

INode作为术语:没有Windows文件系统没有它。

INode作为概念:Windows将有一些其他结构,类似的属性和用法,但使用不同的名称

是的,它确实。 一般称为fileID。 在Win8命令shell中试试这个:fsutil file queryfileid

Inodes是POSIX的概念。 现代Windows版本使用NTFS。 对NTFS的深入描述: 在NTFS内部

不,在Windows NTFS中没有相当于inode的inode。inode更多的是基于** IX的文件系统。

但是,是的,NTFS为每个文件存储一个唯一的8字节引用号。

欢呼。评论如果你想知道更多的细节