今天在 Windows 上 clone 了一份 linux kernel 代码,checkout 的时候报错:
error: invalid path 'drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c'
结果发现是 Windows 不允许将文件名命名为 aux.c ……
准确地说,是不允许命名为任何以 aux 开头的文件,不管什么后缀名
1
Eiden 278 天前
无法复现
|
2
registerrr 278 天前
无法复现
|
4
si 278 天前
有些文件名是保留,aux 、con 、nul 之类的好像是 DOS 的设备名称
|
5
Goooooos 278 天前
|
6
angry41 278 天前
win11 ,无法复现
|
7
Nooooobycat 278 天前
windows11 23h2 22631.3155 可以创建,没这个限制
windows10 22h2 19045.4046 无法创建,复现成功 |
8
masterclock 278 天前
CON 、LPTx 、COMx 、NUL 等都不行的
|
9
zqx 278 天前 via Android
巧了,我今天把 linux 子系统复制到另一个盘,也是一些内核文件无法复制。
|
10
peanutBark 278 天前
ChatGpt
在 Windows 操作系统中,有一些保留的文件名,这些文件名与早期的 MS-DOS 和 Windows 版本的历史有关。这些保留的文件名包括 CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3 等。 这些名称被保留是因为它们是用于特定设备或系统功能的特殊文件名。例如: CON 代表控制台。 PRN 代表打印机。 AUX 代表辅助设备,通常是指串行端口。 NUL 代表空设备。 由于这些名称被操作系统用于特殊目的,所以不能将它们用作普通文件或文件夹的名称。如果尝试使用这些保留名称创建文件或文件夹,Windows 通常会报错或拒绝操作。这是为了避免与系统功能发生冲突或混淆。 |
11
hronro 278 天前
确实逆天
|
12
Tumblr 278 天前
|
13
Cooky 278 天前 via Android 1
windows 在命名的一些限制,你用 msys2 里的 shell 就可以建这些名字的文件
|
15
Kroos 278 天前
|
16
villivateur OP @Kroos 哈哈,这是不是证明了 Onedrive 服务器是 Windows server
|
17
geelaw 278 天前
是 Win32 禁止使用 AUX 等 DOS 设备名作为文件名,另外这个从 MS-DOS 时代就有了。关于为什么加任意扩展名、在任意目录都不行,参考 https://devblogs.microsoft.com/oldnewthing/20031022-00/?p=42073
|
19
kokutou 278 天前
cmd 可以的
windows 有保留字 gui 创建的时候是不行的 |
20
caiqichang 278 天前
win10 可以通过 wsl 创建修改
|
21
PrinceofInj 278 天前
越来我真的老了🙃
|
22
gefranks 278 天前
看到这个文件名的时候我就想起 MSDOS 的保留字了.
|
23
clorischan 278 天前
win11 gui 可以创建
|
24
mmdsun 277 天前 via iPhone
NUL 也不行。这和 Linux 下不能创建/dev/null 文件一样
|