MacOS系统中POSIX_NAME_MAX值仅为14是否符合预期?
结论
POSIX_NAME_MAX值为14属于完全符合POSIX规范的正常预期情况。
具体原因说明
- POSIX标准本身仅要求所有兼容系统的文件名长度最低支持14字符,14是POSIX_NAME_MAX的法定最小取值,设置这个最低要求是为了兼容早年的老旧UNIX系统(这类系统原生的文件系统仅支持最长14字符的文件名)。
- 你查询到的14是跨POSIX系统全可移植场景下的文件名长度上限,不是macOS本地文件系统的实际支持上限:macOS默认使用的APFS/HFS+文件系统,实际单个文件名组件最长可支持255字符,完全满足日常使用需求。
- 你使用
pathchk -p命令时触发的是POSIX可移植性校验规则,所以会用14字符作为长度限制。如果你只是要校验文件名在当前macOS系统上的合法性,直接执行不带-p参数的pathchk命令即可,这时候会用本地文件系统的255字符上限做校验。
内容的提问来源于stack exchange,提问作者tkp
相关产品推荐
相关产品推荐

