我正在尝试提出一个结论性的规则列表,列出可以运行node.js的操作系统命名约定中的非法规则。
到目前为止,我在互联网上阅读了许多资源和类似的问题,这是我发现的:
名称中的任何地方的非法字符:
非法名称:
windows_nt - CON,PRN,AUX,CLOCK $,NUL,COM1-9,LPT1-9(其他一些设备名称未包括在内,因为它们仅在旧dos上非法分发和node.js不适用于他们)
Linux -
达尔文 -
非法尾随字符:
windows_nt - 。 (点)和(空格)
Linux -
达尔文 -
非法主角:
windows_nt -
Linux -
达尔文 -
最大文件/目录名称长度:
windows_nt -
Linux -
达尔文 -
最大路径长度:
windows_nt -
Linux -
达尔文 -
如果你能帮我填补规则中的空白,我会很高兴的。 此外,只应考虑能够运行node.js的操作系统。
答案 0 :(得分:0)
达尔文-/也许: (有人说允许在OS X上使用,但有人说不允许,对我来说不是很清楚)
:
和?
在macOS的文件名中有效。如果使用命令行或API函数,则可以使用任何一个字符创建文件名。
Finder(文件管理GUI)将不允许您在文件名/目录名称中使用:
,但将允许您使用/
。这是因为它实际上在文件名中使用了:
,但是将该字符显示为/
。
$ ls -l
total 0
drwxr-xr-x 2 user staff 64 6 Apr 21:40 abc:123
在Linux和macOS上都会想到非法姓名:
.
和..
。
最大文件名/目录名长度:
在Mac OS上的APFS(默认文件系统)上,单个目录或文件名的最大长度似乎是255。但是完整路径可能比这更长。