Windows 居然不允许将文件名命名为 aux.c ?!?

2024-02-23 14:16:47 +08:00
 villivateur

今天在 Windows 上 clone 了一份 linux kernel 代码,checkout 的时候报错:

error: invalid path 'drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c'

结果发现是 Windows 不允许将文件名命名为 aux.c ……

准确地说,是不允许命名为任何以 aux 开头的文件,不管什么后缀名

3419 次点击
所在节点    全球工单系统
24 条回复
Eiden
2024-02-23 14:22:52 +08:00
无法复现
registerrr
2024-02-23 14:26:29 +08:00
无法复现
villivateur
2024-02-23 14:28:14 +08:00
si
2024-02-23 14:29:57 +08:00
有些文件名是保留,aux 、con 、nul 之类的好像是 DOS 的设备名称
Goooooos
2024-02-23 14:42:10 +08:00
用了那么多年 windows ,才知道
angry41
2024-02-23 14:44:18 +08:00
win11 ,无法复现
Nooooobycat
2024-02-23 14:44:23 +08:00
windows11 23h2 22631.3155 可以创建,没这个限制
windows10 22h2 19045.4046 无法创建,复现成功
masterclock
2024-02-23 14:47:36 +08:00
CON 、LPTx 、COMx 、NUL 等都不行的
zqx
2024-02-23 14:51:09 +08:00
巧了,我今天把 linux 子系统复制到另一个盘,也是一些内核文件无法复制。
peanutBark
2024-02-23 14:51:10 +08:00
ChatGpt
在 Windows 操作系统中,有一些保留的文件名,这些文件名与早期的 MS-DOS 和 Windows 版本的历史有关。这些保留的文件名包括 CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3 等。

这些名称被保留是因为它们是用于特定设备或系统功能的特殊文件名。例如:

CON 代表控制台。
PRN 代表打印机。
AUX 代表辅助设备,通常是指串行端口。
NUL 代表空设备。

由于这些名称被操作系统用于特殊目的,所以不能将它们用作普通文件或文件夹的名称。如果尝试使用这些保留名称创建文件或文件夹,Windows 通常会报错或拒绝操作。这是为了避免与系统功能发生冲突或混淆。
hronro
2024-02-23 14:52:50 +08:00
确实逆天
Tumblr
2024-02-23 14:53:22 +08:00
Windows 11 无法复现:
Cooky
2024-02-23 14:53:58 +08:00
windows 在命名的一些限制,你用 msys2 里的 shell 就可以建这些名字的文件
zqx
2024-02-23 14:54:51 +08:00
@zqx 但是在 windows 上安装 linux 时却可以正常安装,而且可以解压出 aux 目录
Kroos
2024-02-23 15:30:50 +08:00

Win11 可以创建,但是没办法通过 Onedrive 同步。
villivateur
2024-02-23 15:37:06 +08:00
@Kroos 哈哈,这是不是证明了 Onedrive 服务器是 Windows server
geelaw
2024-02-23 15:43:08 +08:00
是 Win32 禁止使用 AUX 等 DOS 设备名作为文件名,另外这个从 MS-DOS 时代就有了。关于为什么加任意扩展名、在任意目录都不行,参考 https://devblogs.microsoft.com/oldnewthing/20031022-00/?p=42073
FengMubai
2024-02-23 16:17:31 +08:00
@Cooky git shell 测试可用
kokutou
2024-02-23 16:27:11 +08:00
cmd 可以的
windows 有保留字 gui 创建的时候是不行的
caiqichang
2024-02-23 16:42:02 +08:00
win10 可以通过 wsl 创建修改

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1017859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX