Windows NTFS和Unix上文件名的255個字符限制是整個路徑還是路徑的一部分?Windows和Unix上文件名的255個字符限制是整個路徑還是路徑的一部分?
即給定的C:\ part1的\ 2部分剛纔第一部分和第2部分必須是小於255或者是C:\ + 1部分第2部分+
和最新Unix上的規則是什麼?
Windows NTFS和Unix上文件名的255個字符限制是整個路徑還是路徑的一部分?Windows和Unix上文件名的255個字符限制是整個路徑還是路徑的一部分?
即給定的C:\ part1的\ 2部分剛纔第一部分和第2部分必須是小於255或者是C:\ + 1部分第2部分+
和最新Unix上的規則是什麼?
除了上面的答案,您還必須考慮正在使用的文件系統(ext2等)。 Unix沒有標準的答案。 Linux對於每個組件通常是255,對於完整路徑是4096,對於路徑是無限制的。其他Unix變體使用不同的限制。 OSX與HFS +是255文件名和1024或無限路徑(我找不到明確的答案)。除非你是積極的,否則你只需要擔心Linux,你可能會想保持整體的低下路徑。如果可能的話,限制整個路徑爲255並不是一個壞主意。您可能還需要考慮文件系統可以掛載網絡,而NFS,SMB等也有自己的限制。
Unix的簡短答案是沒有簡短的答案,也沒有標準,操作系統和底層文件系統都會施加限制。
謝謝,它真的是一個蠕蟲的罐頭。 –
在Windows上,第1部分和第2部分應該都是255或更小,整個c:\ part1 \ part2應該是260或更少。有一種方法可以在WinNT內核(Windows 2000,XP和更高版本)上擁有更長的文件名和路徑,但是這要求訪問此類文件的應用程序明確支持這些文件名,因此在絕大多數情況下,您可以將255/260限制視爲硬限制。
感謝您在Windows上的答案,現在只需要一個UNIX –
爲什麼選擇260?似乎是一個任意數字。 –
http://stackoverflow.com/questions/1880321/why-does-the-260-character-path-length-limit-exist-in-windows –
在Linux系統上,part1和part2應該都是255(即FILE_MAX
)或更少,整個路徑應該是4096(即PATH_MAX
)或更少。如解釋here所示,PATH_MAX的使用存在缺陷。
你可以[查看](http://stackoverflow.com/q/265769/968261)。 –