Win­dows 的文件系统默认不区分大小写。如果你使用 WSL (Win­dows Sub­sys­tem for Linux) 通过 DrvFs 访问 Win­dows 下的目录来进行一些像编译这样的在 Linux 中习以为常的操作时就可能会遇到问题。

解决方案

首先声明环境: Windows10 1909 --18363.476

管理员权限运行 PowerShell 输入下面命令可以开启某个目录区分大小写。

1
fsutil.exe file setCaseSensitiveInfo <path> enable

如果不需要区分大小写的属性可以设置为禁用。

1
fsutil.exe file setCaseSensitiveInfo <path> disable

执行下面的命令可以查看某个目录是否区分大小写。

1
fsutil.exe file queryCaseSensitiveInfo <path>

WSL Ubuntu18.04系统默认文件路径

1
C:\Users\[your name]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs

请注意:按目录区分大小写标志不会被继承,所以建议新建目录修改成功后再使用。对于目录中已有的文件,需要把文件剪切到其它目录,然后再复制回来才可以。

📖Per-directory case sensitivity and WSL