Filesystems XFS文件系统中的所有非法字符是什么?

Filesystems XFS文件系统中的所有非法字符是什么?,filesystems,illegal-characters,Filesystems,Illegal Characters,有人能提供或给我指出XFS文件系统中所有非法字符的列表吗?我正在编写一个需要清理文件名的应用程序 编辑: 好的,POSIX文件系统应该允许保留除NUL字符、正斜杠和“.”和“…”文件名以外的所有字符。所有其他例外情况都是应用程序级别的。谢谢 根据,在XFS文件系统文件名中,除NUL以外的任何字符都是合法的。当然,POSIX通常不允许在文件名中使用正斜杠“/”。除此之外,任何东西都应该是好的,包括国际字符。根据,在XFS文件系统文件名中,除NUL以外的任何字符都是合法的。当然,POSIX通常不允许

有人能提供或给我指出XFS文件系统中所有非法字符的列表吗?我正在编写一个需要清理文件名的应用程序

编辑:


好的,POSIX文件系统应该允许保留除NUL字符、正斜杠和“.”和“…”文件名以外的所有字符。所有其他例外情况都是应用程序级别的。谢谢

根据,在XFS文件系统文件名中,除NUL以外的任何字符都是合法的。当然,POSIX通常不允许在文件名中使用正斜杠“/”。除此之外,任何东西都应该是好的,包括国际字符。

根据,在XFS文件系统文件名中,除NUL以外的任何字符都是合法的。当然,POSIX通常不允许在文件名中使用正斜杠“/”。除此之外,任何东西都应该是好的,包括国际字符。

POSIX文件系统(包括XFS)允许文件名中的每个字符,NUL0x00和正斜杠除外;0x2f

NUL标记C字符串的结尾;因此,文件名中不允许使用它。 /是目录分隔符,因此不允许使用。 以点开头的文件名。;0x2e被视为隐藏文件。这是一个用户区,而不是内核或文件系统约定。 您可能会遵循一些约定,例如UTF-8文件名,在这种情况下,会有很多很多限制,包括使用哪种规范化形式。 现在,你可能也想禁止其他事情;文件名中有各种奇怪的字符,处理起来并不有趣。我强烈建议采用白名单方法

此外,在处理文件名时,请注意。。每个目录中的条目。您不希望遍历它并允许任意路径


来源:,组成名称的字符可以从除斜杠字符和空字节之外的所有字符值集中选择。

包括XFS的POSIX文件系统允许文件名中的每个字符,NUL 0x00和正斜杠除外;0x2f

NUL标记C字符串的结尾;因此,文件名中不允许使用它。 /是目录分隔符,因此不允许使用。 以点开头的文件名。;0x2e被视为隐藏文件。这是一个用户区,而不是内核或文件系统约定。 您可能会遵循一些约定,例如UTF-8文件名,在这种情况下,会有很多很多限制,包括使用哪种规范化形式。 现在,你可能也想禁止其他事情;文件名中有各种奇怪的字符,处理起来并不有趣。我强烈建议采用白名单方法

此外,在处理文件名时,请注意。。每个目录中的条目。您不希望遍历它并允许任意路径


来源:,组成名称的字符可以从除斜杠字符和空字节之外的所有字符值集中选择。

合法字符列表不是更短吗?如果要清理文件名,可能需要从文件名中删除一些其他合法字符,例如控制字符,除非是国际文件名的一部分。合法字符列表不是更短吗?如果要清理文件名,可能需要从文件名中删除一些其他合法字符,例如控制字符,除非是国际文件名的一部分。嗯。。。到目前为止,它看起来像[/*?]。那些字符不是NUL ASCIYES,我更新了我的答案。'*'“和”?“和”应该是合法的。只是不是NUL和“/”。嗯。。。到目前为止,它看起来像[/*?]。那些字符不是NUL ASCIYES,我更新了我的答案。'*'“和”?“和”应该是合法的。只是不是NUL和“/”。因此,禁止使用星号字符*取决于操作系统,那么?允许使用星号字符0x2a。运行这个应该会使一个;请注意,要从shell中转义的反斜杠:触摸foo*然后禁止使用星号字符*取决于操作系统,然后?允许使用星号字符0x2a。运行这个应该会使一个;注意要从shell中退出的反斜杠:touch foo*