Windows 是否具有像 Linux 一样的 Inode 编号?
- 2024-11-12 08:36:00
- admin 原创
- 24
问题描述:
Windows 是否像 Linux 一样具有 Inode 编号?Windows 内部如何管理文件?
解决方案 1:
所使用的术语与 Unix 世界中的术语略有不同,但是就具有唯一标识文件的整数而言,NTFS 和某些 Windows API 公开了类似的“文件 ID”概念。
您可以通过 查询打开句柄的文件 ID GetFileInformationByHandle
。请参阅nFileIndexHigh
,nFileIndexLow
;这是文件 ID 的高位和低位部分,为 64 位。
NtCreateFile
也可以通过文件 ID 打开文件。查看FILE_OPEN_BY_FILE_ID
标志。您需要一个卷句柄才能通过文件 ID 打开。
解决方案 2:
Windows 有“FileId”
是的,确实如此。通常称为FileId
(AKA file ID
,AKA FileID
)。在 Win8 命令 shell 中尝试此操作:
C:>fsutil file | findstr /I fileid
queryFileID Queries the file ID of the specified file
C:>fsutil file queryFileID
Usage : fsutil file queryFileID <filename>
Eg : fsutil file queryFileID C: estfile.txt
参考:
文件编号
文件的 128 位文件标识符。文件标识符和卷序列号唯一地标识单个计算机上的文件。
解决方案 3:
是的。NTFS 使用 B-Tree 索引系统。MFT 中的每个文件都有一个 64 位文件索引号。这个数字称为文件 ID,它仅在其卷内唯一地标识文件。也就是说,同一台 PC 上两个不同卷上的两个文件可能具有相同的文件 ID。有关更多详细信息,请参阅此 MSDN 文章。
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363788(v=vs.85).aspx
关于您的第二个问题“Windows 如何在内部管理文件”,请参阅此 Technet 文章:
https://technet.microsoft.com/en-us/library/cc781134(v=ws.10).aspx
解决方案 4:
这里有两件事。术语 INode 和使用 INode 术语或类似 INode 的术语代替的文件系统实现。
我所知道的所有 Windows 文件系统(FAT*、NTFS)在实际实现中都使用类似 Inode 的结构。
为了进一步简化答案
(将 INode 视为有关文件的元数据块。)
INode 作为术语:没有 Windows 文件系统没有它。
INode 作为概念:Windows 将具有一些其他结构,其属性和用法类似,但使用的名称不同
解决方案 5:
我认为这个问题更多的是关于文件系统而不是特定的操作系统。每个文件系统处理文件的方式都不同(并且每个操作系统可以支持多个文件系统)。
http://pcnineoneone.com/howto/filesystems1/对 FAT 和 NTFS 进行了相当不错的介绍,FAT 和 NTFS 是 Windows 中两种流行的文件系统。
解决方案 6:
Inode 是 POSIX 概念。现代 Windows 版本使用 NTFS。NTFS 的深入描述:NTFS 内部
解决方案 7:
否。NTFS 中没有与 inode 等效的项。Inode 存在于基于 **IX 的文件系统中。
但是,NTFS 确实为每个文件存储一个唯一的 8 字节参考编号。
如果您想了解更多详细信息,请发表评论。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件