ext3 文件名中是否存在无效字符?

ext3 文件名中是否存在无效字符?

哪些字符对于 ext3 文件名无效?我认为至少/是无效字符,并且可能是\0。有没有官方列表?

我不太清楚在哪里可以找到这些信息,所以请告诉我你在哪里找到的。

答案1

就他们两个。

来自维基百科上有关 ext3 的页面

文件名中允许的字符 - 除 NULL 和 '/' 之外的所有字节

答案2

/ 似乎是允许的,至少在 ext3 上(据称至少在所有 ext、ext2 和 ext3 中都是如此,可能 ext4 也可能如此)——试试这个:

f='test/file'; echo "测试:'${f}'"
for c in touch ll rm ;do
评估“${c}'${f}'”
完毕

这将创建“test/file”,这也让我很惊讶...它将创建它,用 ls 命令显示它,最后用 rm 将其删除

您可以在 bash 中的一行中输入它:

$ f ='test/file'; for c in touch ll rm; do eval "${c}'${f}'"; 完成

因此 / 似乎(奇怪地)被允许出现在文件名中 - 但可能许多工具会对此感到困惑...

相关内容