禁止 Posix 中的某些内容使用空字符串作为文件名?

禁止 Posix 中的某些内容使用空字符串作为文件名?

我的经验是,尝试使用空字符串文件名执行任何操作都会导致找不到文件 ( ENOENT),包括ls -ld '',touch ''mkdir ''.但我只能尝试 ext4。

虽然对我来说这看起来很合乎逻辑,但是 Posix 中是否有某些东西禁止这样做?

答案1

Unix 规范的 3.170 点规定文件名不能为空:

由 1 到 {NAME_MAX} 个字节组成的字节序列,用于命名文件。组成名称的字节不得包含 <NUL> 或 <slash> 字符。

因此尝试对空文件名进行操作将会出错。我建议在尝试对其进行操作之前测试字符串是否为空。

相关内容