Linux Darwin和Windows_NT中的禁止文件/目录名称

时间:2016-04-07 23:29:41

标签: linux node.js darwin windows-nt

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

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

  1. windows_nt - /?<> \,:* |“
  2. Linux - /
  3. 达尔文 - /也许:? (有人说它在OS X上是允许的,但有些人说它不是,对我来说不是很清楚)
  4. 非法名称

    1. windows_nt - CON,PRN,AUX,CLOCK $,NUL,COM1-9,LPT1-9(其他一些设备名称未包括在内,因为它们仅在旧dos上非法分发和node.js不适用于他们)

    2. Linux -

    3. 达尔文 -

    4. 非法尾随字符

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

      2. Linux -

      3. 达尔文 -

      4. 非法主角

        1. windows_nt -

        2. Linux -

        3. 达尔文 -

        4. 最大文件/目录名称长度

          1. windows_nt -

          2. Linux -

          3. 达尔文 -

          4. 最大路径长度

            1. windows_nt -

            2. Linux -

            3. 达尔文 -

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

1 个答案:

答案 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

Finder window

  

非法姓名:

在Linux和macOS上都会想到

...

  

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

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