e-s*_*tis 61
它在很大程度上取决于文件系统.对于ext FS(目前在Linux上使用最多):
扩展名不是FS知道的,它包含255个字节,包含扩展名(您可以使用没有任何扩展名的文件名).
以下是每个FS的这些限制的更详尽的列表.
您的文件系统也可以有扩展,也可以更改您的最大长度.例如,eCryptFS使用较低文件名的一部分来保留元数据,并将文件名限制为最大长度为143个字符.请参阅Ubuntu eCryptFS启动板条目.
dog*_*ane 36
在临时目录中,运行:
num=1
while [ true ]
do
if ! touch $(printf "%${num}s" | tr ' ' 'a')
then
echo $num
break
fi
((num++))
done
Run Code Online (Sandbox Code Playgroud)
我得到:
touch: cannot touch `aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa': File name too long
256
Run Code Online (Sandbox Code Playgroud)
这意味着我的限制是255.
小智 14
在Mac OS X 10.6.7上:
man getconf
getconf NAME_MAX / # 255 bytes
getconf PATH_MAX / # 1024 bytes
# check file path length with wc before using touch, mkdir, etc.
echo '/very/lllooooonnnnnggggg/file/path.txt' | wc -c
Run Code Online (Sandbox Code Playgroud)
oli*_*bre 10
我请参考其他答案,请提出投票.
在Linux上,文件名和路径名长度取决于:
linux/limits.h在编译之前,通过陈述迈克尔·亚伦Safyan后来大卫Balažic已经指出,类似的问题.要在bash中动态获取这些属性:
使用timgetconf提出的命令,也可以在Linux上使用:
$ getconf NAME_MAX /mnt/sda2/
255
$ getconf PATH_MAX /mnt/sda3/
4096
Run Code Online (Sandbox Code Playgroud)