Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Mac OS X Lion:最大路径长度是多少?_Macos_Path_Filesystems_Osx Lion - Fatal编程技术网

Macos Mac OS X Lion:最大路径长度是多少?

Macos Mac OS X Lion:最大路径长度是多少?,macos,path,filesystems,osx-lion,Macos,Path,Filesystems,Osx Lion,我很难找到这些信息,而反复试验告诉我,这些信息的价值非常高。所以我想我会问社区是否有人知道,是否有人可以给我指一个苹果页面,确认Lion的长度。我所知道的是,它比雪豹大。限制取决于使用的文件系统-OSX默认使用HFS Plus 我能指出的唯一官方文件是文件名长度限制为255的文档 提示HFS Plus上的最大路径长度为“无限” 也许联系苹果开发人员支持人员是获得有关限制的准确声明的最可靠的方式。很老了,但我找到了一个答案: #include <sys/syslimits.h> 您可

我很难找到这些信息,而反复试验告诉我,这些信息的价值非常高。所以我想我会问社区是否有人知道,是否有人可以给我指一个苹果页面,确认Lion的长度。我所知道的是,它比雪豹大。

限制取决于使用的文件系统-OSX默认使用HFS Plus

我能指出的唯一官方文件是文件名长度限制为255的文档

提示HFS Plus上的最大路径长度为“无限”


也许联系苹果开发人员支持人员是获得有关限制的准确声明的最可靠的方式。

很老了,但我找到了一个答案:

#include <sys/syslimits.h>

您可以硬编码1024作为最大路径,但使用这样的常量可以使您的代码在新版本中可伸缩

根据Mac OS X Yosemite上的实际测试,最大路径长度为1016个字符。1017失败。

将此命令复制并粘贴到MacOSX的终端应用程序(或iTerm2、xterm或类似程序)中


bash$
cc-dM-E-xc-我要冒险说,任何远程接近这个极限的应用程序都是一个非常糟糕的主意。@spookyjon:+1。很可能也依赖于文件系统。@spookyjon您没有抓住要点,在Windows的248、10.6的250和Lion中,它似乎要大得多。这是关于测试限制,以确保你不违反他们,但要知道,因为你需要知道什么是边界。您正在对一些您不知道的事情进行假设,不应该介意我为什么提出问题,但投票否决它,因为您个人不同意您所做的假设,因为这些假设是非常糟糕的。@Donal文件系统将是Lion的默认设置,是Mac OS扩展的(日志记录)最大文件名leght为10.6255,最大路径长度为“无限”-不会期望Lion会使其变小…还要记住,
NAME\u MAX
也是单个文件名的限制。通过实验,我发现对于给定文件,使用长度为1016的路径有效,而长度为1017的路径无效,这似乎与该常量以及所有文档相矛盾。在Sierra上进行测试时,最大路径长度似乎也没有限制注意/tmp、/etc和/var是指向/private/tmp、/private/etc和/private/var的符号链接。如果您尝试在这些目录中创建文件,您将能够创建大小为(1024-len(/private))的路径,这是1016虽然这个代码片段是受欢迎的,并可能提供一些帮助,它将是如何和为什么这解决了问题。记住,你是在将来回答读者的问题,而不仅仅是现在提问的人!请在回答中添加解释,并说明适用的限制和假设。bash$
(cd/tmp&&cc-xc-&&(./a.out;echo\$?=$?)
char filenameBuffer [PATH_MAX];
#define NAME_MAX 255
#define PATH_MAX 1024