我想知道我们如何拥有2个符号链接(不是2个常规文件或硬链接和符号链接,但是2个符号链接)具有相同的inode和相同的inode点。我尝试了很多硬链接和符号链接以及常规文件的组合,我可以有两个具有相同inode和相同inode点的文件,但它们都不是符号链接。
N.B:我在python3下使用os库来获取所有信息和" os.path.islink"知道它是否是符号链接,以及" os.stat" " os.lstat"
非常感谢。
答案 0 :(得分:0)
您必须确保,用于制作硬链接的工具不会遵循您尝试链接的符号链接。在命令行上,您可以这样做,例如:
cp -l -P symlink1 symlink2
这些选项意味着:
-l, --link
hard link files instead of copying
-P, --no-dereference
never follow symbolic links in SOURCE
在Python starting from version 3.3中,您可以执行以下操作:
os.link ("symlink1", "symlink2", follow_symlinks = False)
答案 1 :(得分:0)
感谢您的所有答案,但实际上我解决了问题,我可以有两个文件具有相同的inode和相同的inode点,
我需要创建文件符号链接的硬链接(例如文件f1)
ln symlinkf1 hardlink_ofsymlinkf1
然后我得到inode_symlink1 = inode_hardlink_ofsymlinkf1(1)
和inodepoint_symlinkf1 = inodepoint_hardlink_ofsymlinkf1(2)
但是(1)= / =(2)
这只适用于Linux,我将这两个文件都作为软链接(使用os.islink(file_name)= True),并且奇怪的是它不能在Mac OS上运行。