首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一个文件的硬链接限制?

是否有一个文件的硬链接限制?
EN

Unix & Linux用户
提问于 2011-01-10 16:38:33
回答 3查看 9.4K关注 0票数 28

一个文件的硬链接数量是否有限制?在任何地方都有说明吗?Linux的安全限制是什么?其他POSIX系统呢?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2011-01-10 19:23:17

Posix要求操作系统理解硬链接的概念,而不是硬链接实际上可以在任何特定情况下使用。您可以通过调用pathconf(filename, _PC_LINK_MAX),了解在特定位置允许多少硬链接(这可能因文件系统类型而异)。最小限度 (_POSIX_LINK_MAX)为8,但这是相当没有意义的,因为link()仍然可以报告许多其他错误(权限被拒绝,磁盘已满,…)。。

stat结构将链接计数存储在nlink_t类型的字段中,因此该字段的类型为您的系统提供了上限。但是,您很有可能永远无法达到这个程度:32位nlink_t在许多文件系统中通常只有16位( Linux源代码中的快速grep显示ext234、NTFS、UFS和XFS在内核数据结构中使用16位链接计数)。

票数 19
EN

Unix & Linux用户

发布于 2011-01-10 17:46:57

这与文件系统有关。

ext2 2/3/4限制为65k链接

ext4 4源第643行,struct ext4_inode -> __le16 i_links_count

票数 15
EN

Unix & Linux用户

发布于 2011-01-10 17:55:02

查看linux内核源代码中的ext3 inode结构磁盘格式(*include/ext3 3_fs.h*),其中列出链接数为16位数。

代码语言:javascript
复制
struct ext3_inode {
    ... snip ...
    __le16  i_links_count;  /* Links count */

}

我猜这意味着ext3文件系统可以有多达65535个链接。

我还没有检查其他文件系统的值。

票数 11
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/5629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档