Windows NTFS 和区分大小写

Mar*_*ten 8 windows filesystems ntfs

根据维基百科, NTFS 允许使用不同大小写的两个相似名称(如 Readme.txt 与 readme.txt),并且只能由 windows 文件 API 阻止。

当前的 Windows 文件系统,如 NTFS,区分大小写;即 readme.txt 和 Readme.txt 可以存在于同一目录中。但是,Windows 应用程序中用于文件访问的 API 不区分大小写,这使得从应用程序的角度来看文件名不区分大小写。因此,应用程序只能访问文件名只是大小写不同的文件之一,如果提供的文件名不明确,某些命令可能会失败

来自 Linux,我问自己这两个文件存在的可能性是什么,并且一个人只能访问其中一个文件,这使其成为安全的理想问题。“Windows API”是什么意思。还有其他方法可以访问那些重复的文件吗?可以直接使用磁盘驱动程序(格式化驱动程序)访问文件系统吗?

小智 8

NTFS 是区分大小写的文件系统,将名称相同但大小写不同的文件视为不同的文件。

Windows API 提供了 NTFS 的抽象,使其看起来像一个保留大小写的文件系统,它通过几乎所有文件创建和打开请求都路由通过的CreateFile API 来实现。

即,文件打开或创建的大小写敏感度由FILE_FLAG_POSIX_SEMANTICS传递给 CreateFile的标志调节。


小智 5

正如克里斯·贝克所说:

NTFS 是区分大小写的文件系统,它将名称相同但大小写不同的文件视为不同的文件。

幸运的是,如果您现在想要拥有大写和小写文件,新的 Windows 10 开发人员更新允许您在某些文件夹中启用该功能,以用于开发目的。我只是警告您,您不应该依赖该功能,因为旧的 Windows 版本不支持它,而且我不知道会发生什么。在这里查看如何操作:https://www.howtogeek.com/354220/how-to-enable-case-sensitive-folders-on-windows-10/