unix文件系统上的绝对路径名是否需要以“/”开头?

时间:2012-10-12 02:39:35

标签: unix

绝对路径名的其他限制是什么?

似乎唯一的限制是它必须以“/”开头,并且以下ascii字符序列必须由ascii字符的片段组成,每个字符用“/".

分隔。

注意:我正在试图找出将路径名映射到文件的函数的名称空间。

编辑:事实证明,对于我的作业,我对限制的推理是正确的。

2 个答案:

答案 0 :(得分:3)

路径名称的长度不能超过PATH_MAX - 请参阅/usr/include/limits.h或sysconf(3)。

文件的长度不能超过与文件系统相关的NAME_MAX - 请参阅fpathconf(3)或pathconf

绝对路径的确以'/'

开头

答案 1 :(得分:1)

简短的回答是它取决于所使用的文件系统,但您可以从内核强制使用特定的字符集。

长版本大多数没有太多限制,有些甚至会让你使用'/'或'\ 0'作为文件名中的有效字符,但是在软件中处理它是疯狂的,所以没有人真正使用那个“功能”。例如,如果您映射FAT文件系统,那么您将被限制为合法的(仅限ascii)。我使用ext4和reiserfs4,它允许除“/”和“\ 0”之外的所有内容。我使用utf-8字符集,所以我可以在其名称中包含所有全局字符的文件名(我有一些日文或俄文名称的文件 - 主要是来自这些国家的音乐)。