0

我正在尝试为可以运行 node.js 的操作系统的命名约定提供一个结论性的规则列表。

到目前为止,我没有在互联网上阅读许多资源和类似问题,这就是我发现的:
名称中任何地方的非法字符:

  1. windows_nt - /?<>\,:*|"
  2. Linux - /
  3. 达尔文-/也许:?(有人说它在 OS X 上是允许的,但有人说不是,我不太清楚)

非法名称

  1. windows_nt - CON、PRN、AUX、CLOCK$、NUL、COM1-9、LPT1-9(不包括其他一些设备名称,因为它们仅在旧的 dos 发行版上是非法的,并且 node.js 对它们不可用)

  2. Linux -

  3. 达尔文——

非法尾随字符

  1. windows_nt - . (点)和(空格)

  2. Linux -

  3. 达尔文——

非法的前导字符

  1. windows_nt -

  2. Linux -

  3. 达尔文——

最大文件/目录名称长度

  1. windows_nt -

  2. Linux -

  3. 达尔文——

最大路径长度

  1. windows_nt -

  2. Linux -

  3. 达尔文——

如果您能帮助我填补规则集的空白,我将很高兴。此外,只应考虑能够运行 node.js 的操作系统。

4

1 回答 1

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 上浮现在脑海中。

最大文件/目录名称长度:

在 APFS(默认文件系统)上的 macOS 上,单个目录或文件名的最大长度似乎是 255。但是完整路径可能比这长得多。

于 2019-04-07T03:52:59.743 回答