创建具有保留名称的文件

时间:2019-08-13 13:29:20

标签: bash windows-subsystem-for-linux

Windows不允许您给文件保留名称,例如con。但是,WSL对此没有任何限制。

创建名为con的文件会产生错误:“指定的设备名称无效。”用

创建一个
touch con
WSL中的

不会产生任何错误,但是从Windows资源管理器中删除它会产生错误:“无效的文件句柄”。但是,

rm con
WSL中的

删除它没有问题。

这是怎么回事?为什么WSL创建的文件保留名称没有错误?

1 个答案:

答案 0 :(得分:-1)

Windows会阻止这些文件名完全使用它们。(例如,如果您在旧版Windows中访问目录C:\CON\CON,则会出现蓝屏)

因此,您无法使用cmd或资源管理器访问/创建/删除它们(与哪个驱动器无关)。

但是,文件系统不会阻止它。由于存在这种linux(也许是因为Windows内核中运行了某些东西?),甚至git bash或wsl(我没有测试cygwin)的shell模拟器也可以在可启动的Windows分区中创建/访问/删除这些文件。