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