写在前面
Windows的文件系统默认情况下是不区分大小写的,也就是说如果在Windows当前目录下存在名为abc
的目录,那么再新建一个Abc
目录时会提示目录已存在
而Linux的文件系统是大小写敏感的,也就是abc
目录和Abc
目录是两个完全不同的目录
由于二者的差异,这就会导致我们如果从Linux系统中向Windows系统同步文件时,如果同一级目录中存在有大小写差异的文件或目录,例如abc.txt
和Abc.txt
文件,那么向Windows传输的时候就会报错,因此就需要统一区分大小写的属性
而Windows10系统是可以手动开启大小写敏感属性的,下面将介绍开启的方法
开启适用于Linux的Windows子系统功能
在更改区分大小写属性前,需要开启适用于Linux的Windows子系统功能
具体操作是在左下搜索栏输入启用或关闭Windows功能
,打开对话框后勾选适用于Linux的Windows子系统功能
选项,点击确定后即可
检查目录是否区分大小写
以管理员身份运行PowerShell
,运行以下命令:
fsutil.exe file queryCaseSensitiveInfo <path>
将 <path>
替换为文件路径,运行后将打印该目录是否开启了区分大小写属性
启用/禁用区分大小写属性
需要以管理员身份运行PowerShell
后执行命令
- 启用区分大小写属性
fsutil.exe file setCaseSensitiveInfo <path> enable
如果执行后提示fsutil.exe file setcasesensitiveinfo不支持该请求
,则说明没有开启适用于Linux的Windows子系统功能,按步骤开启即可
注:官方文档有提到需要目录为空才可以更改区分大小写属性,但是我对非空目录仍然成功执行了该命令
- 禁用区分大小写属性
fsutil.exe file setCaseSensitiveInfo <path> disable
区分大小写属性的继承
创建新目录时,这些目录将继承其父目录的大小写区分设置