两个硬链接是否连接到Linux中的一个文件?

Xim*_*mik 4 c unix linux

可能重复:
如何检查两个文件名是否指向同一物理文件

如何知道两个硬链接是否连接到Linux中的C文件.

谢谢.

thk*_*ala 7

对两个路径使用stat()或fstat()函数.如果在返回的结构中st_dev和st_ino字段都相同,则路径引用相同的文件系统对象.

编辑:

请注意,您需要同时检查st_dev和st_ino.否则,您可能会遇到恰好具有相同inode编号的不同文件系统中的两个文件匹配的风险.如果stat在两个挂载点上运行,您可能会看到这个:

$ stat / /boot | grep Device
Device: 903h/2307d  Inode: 2           Links: 23
Device: 902h/2306d  Inode: 2           Links: 3
Run Code Online (Sandbox Code Playgroud)

您可以在输出中清楚地看到相同的inode编号.