为什么公司的linux,home目录存在5个硬链接?

公司是统信UOS, 为了方便windows的使用习惯,
在图形界面把目录映射成了 系统盘、数据盘。
我点进去发现,系统盘目录就是/,数据盘映射的目录是/home/ 也是/data/home
并且ll发现没有软连接 也就是没有 ->这种符号

我ls -i看了一下 /home 和 /data/home的 inode是一样的。
ls -al 发现 上述两个目录的 硬链接数都为5.
这怎么做到的呢? 不是目录不能建立硬链接吗? 为什么 是5?

img

于是我想,如果一个磁盘分区重复挂载的话 ,是不是也可以实现 硬链接数增加的操作?
我lsblk了一下,有一块800G的硬盘挂载在了/data下,50G 挂载在/。
那就是没有我说的重复挂载的情况把 ,那么是怎么实现的硬链接为5呢?

此外
除了我看到的2个,另外3个怎么找出来?
非常感谢!

你是不是对ls -l 下面那个数字的理解有误解。。。他不是全部代表软硬链接数啊😂
这个是代表 目录/链接 个数,所以要看你在什么地方去看这个数字。
来,你先看看这个显示,了解一下ls -l 那个链接数理解:https://blog.csdn.net/weixin_45843419/article/details/119086593


例如,我这里举个例子:

img

如果创建多一个目录,自然就是7

img


因此,先了解好ls -l 那个数字究竟代表什么先,再去了解你看到的,应该就懂了。

这种情况可能是由于/home目录和/data/home目录是同一个文件系统上的目录,在同一个文件系统上,可以对目录建立硬链接,这样就会产生多个硬链接指向同一个文件或目录。而通常我们所说的硬链接是指在不同文件系统之间建立硬链接,这种情况下不能建立硬链接。

要找出另外3个硬链接,可以使用find命令搜索文件系统中的硬链接,例如:
find / -samefile /home

这将在文件系统的根目录下搜索所有文件和目录,并将所有硬链接到/home的文件或目录列出来。

在 Linux 中,硬链接可以让文件或目录有多个名称指向同一个 inode。这样可以方便地在不同的目录中访问同一文件或目录,也可以避免文件或目录重名的问题。对于公司的 Linux 系统而言,可能是为了方便用户在不同目录中访问 home 目录,或者是为了避免重名问题而使用了多个硬链接。

当一个磁盘分区被重复挂载时,实际上是在不同的目录下都指向同一个文件系统,因此会增加硬链接数。但是这种情况不常见,通常会使用软链接或者硬链接来实现文件系统的重定向。

您在/data和/下看到的两个目录是指向同一个文件系统的,而其他三个目录可能是在系统配置文件中指定的或者是其他程序创建的。

建议您检查系统配置文件,如fstab和rc.local等,来查看是否有其他目录指向了这个文件系统。如果您不确定这些目录是由哪个程序创建的,可以使用find命令来查找这些目录。例如,使用find / -samefile /data 命令可以查找与/data目录指向相同inode的所有目录。

另外, 使用df命令可以查看磁盘使用情况, 使用mount命令可以查看文件系统的挂载情况, 使用ls -i 命令可以查看文件的inode值, 这些命令都可以帮助您了解更多关于文件系统的信息。

如果我的回答对您有帮助,请及时采纳