Linux文件名的长度不能超过多少个字符?

您所在的位置:网站首页 linux的文件名的长度限制 Linux文件名的长度不能超过多少个字符?

Linux文件名的长度不能超过多少个字符?

2023-04-23 03:50| 来源: 网络整理| 查看: 265

题主你好,

这个长度不是绝对的, 但大多数的linux系统:

文件名长度限制是255个字符

路径名长度限制是4096个字符

-----

具体情况题主可以在自己电脑上执行以下两个命令看一下自己本地的linux系统这两个长度情况:

文件名最大长度: getconf NAME_MAX /

路径名最大长度: getconf PATH_MAX /

我电脑上的情况:

-----

另外,这个信息其实都在linux一个名叫limits.h的头文件中写着呢, 有兴趣的话,题主自己可以找一下:

find /usr | grep limits.h | xargs -I {} grep -H 'NAME_MAX' {}

find /usr | grep limits.h | xargs -I {} grep -H 'PATH_MAX' {}

=====

希望可以帮到题主, 欢迎追问.

linux的ext3文件系统一级子目录的个数默认为31998(个),准确地说是32000个。

Linux为了cpu的搜索效率而规定的,要想改变数目限制需要重新编译内核。在kernel代码中有这样的:

include/linux/ext2_fs.h:#define EXT2_LINK_MAX 32000

include/linux/ext3_fs.h:#define EXT3_LINK_MAX 32000

什么说31998个呢?这是因为mkdir创建一个目录时,目录下默认就会创建两个子目录的,一个是.目录(代表当前目录),另一个是..目录(代表上级

目录)。这两个子目录是删除不掉的,“ rm . ” 会得到“rm: cannot remove `.' or

`..'”的提示。所以32000-2=31998。

ext3文件系统下单个目录里的最大文件数无特别的限制,是受限于所在文件系统的inode数。

在一个目录下,touch了100万个文件是没有问题的。但是肯定会受到所在文件系统的inode数的限制。

df -i /dev/sdaX或者使用tune2fs -l /dev/sdaX或者dumpe2fs -h /dev/sdaX查看可用inode数,后两个命令输出结果是一样的,但是跟df所得出的可用inode数会有些误差。

网上有两种解决inode数限制的办法如下

2.1 重新mkfs,mkfs时将inode数调的多一些(根据你fs中文件的总数而定),块尺寸调得小一些(根据每个文件的平均大小而定)

2.2

使用loopback文件系统临时解决:在/usr中(也可以在别处)创建一个大文件,然后做成loopback文件系统,将原来的文件移到这个文件系统

中,并将它mount到/usr下合适的位置。这样可以大大减少你/usr中的文件数目。但是系统性能会有点损失。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://outofmemory.cn/yw/8653471.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3