根据Wikipedia NTFS允许两个类似的名称不同的情况下(如Readme.txt与readme.txt),它只被阻止的Windows文件API。
当前的Windows文件系统,如NTFS,是区分大小写的;即readme.txt和Readme.txt可以存在于同一个目录中。但是,Windows应用程序中用于文件访问的API不区分大小写,这使得从应用程序的Angular 来看文件名不区分大小写。因此,应用程序只能访问文件名只区分大小写的文件之一,如果提供的文件名不明确,则某些命令可能会失败
来自Linux我问自己什么是两个文件都存在的可能性,一个只能访问其中一个文件,使其成为一个理想的安全问题。什么是“Windows API”的意思。是否有其他方法来访问这些重复的文件?可以直接使用磁盘驱动程序(格式驱动程序)访问文件系统吗?
2条答案
按热度按时间nimxete21#
NTFS是一个区分大小写的文件系统,它将名称相同但大小写不同的文件视为不同的文件。
Windows API提供了NTFS的抽象,使其看起来像一个保留大小写的文件系统,并且它通过CreateFile API来实现这一点,几乎所有文件创建和打开请求都通过该API进行路由。
也就是说,文件打开或创建的大小写敏感性由传递给CreateFile的
FILE_FLAG_POSIX_SEMANTICS
标志来调节。gopyfrb32#
正如Chris Becke所说:
NTFS是一个区分大小写的文件系统,它将名称相同但大小写不同的文件视为不同的文件。
幸运的是,如果你现在想要有大写和小写文件,新的Windows 10开发人员更新允许你在某些文件夹中启用该功能,用于开发目的.我只是警告你,你不应该依赖该功能,因为旧的Windows版本不会支持它,我不知道会发生什么.看看如何做到这一点在这里:https://www.howtogeek.com/354220/how-to-enable-case-sensitive-folders-on-windows-10/