Linux 上是否有文件名或路径长度限制?
答案1
查看有关文件系统比较的维基百科页面,尤其是在专栏最大文件名长度。
这里有一些文件名长度限制在流行的文件系统中:
BTRFS 255 bytes
exFAT 255 UTF-16 characters
ext2 255 bytes
ext3 255 bytes
ext3cow 255 bytes
ext4 255 bytes
FAT32 8.3 (255 UCS-2 code units with VFAT LFNs)
NTFS 255 characters
XFS 255 bytes
答案2
我读了这里路径长度限制在系统标头中。文件名长度限制也在那里。在我的系统上,它是文件:
/usr/src/linux-headers-2.6.38-10/include/linux/limits.h
C-lang 定义:
#define NAME_MAX 255 /* # chars in a file name */
#define PATH_MAX 4096 /* # chars in a path name including nul */
还有一些。
答案3
我参考了其他答案,请点赞。
Linux 上是否有文件名或路径长度限制?
是的,文件名和路径名的长度受到以下限制:
要动态获取这些属性:
- 使用函数
pathconf
和fpathconf
按照提议迈克尔·亚伦·萨夫扬 - 创建一个越来越长的文件名(或路径名),如下所述罗布麻
getconf
使用建议的命令蒂姆在 Linux 上也可用:$ getconf NAME_MAX /mnt/sda2/ 255 $ getconf PATH_MAX /mnt/sda3/ 4096
答案4
这些是文件系统名称长度。“linux”本身也有一些。例如,来自 bits/stdio_lim.h:
# define FILENAME_MAX 4096