首页 > 综合精选 > > 正文
2024-10-06 19:33:38

关于 Linux 的 hard link

导读 【#关于 Linux 的 hard link#】1、hard link 跟 symbolic link 最大不同之处是 hard link 直接指到 original file 的 inod...
【#关于 Linux 的 hard link#】

1、hard link 跟 symbolic link 最大不同之处是 hard link 直接指到 original file 的 inode,所以你就把hard link 想成就是真正的 file,所以 hard link 就是用个用不同的名字。

2、A 和 B 其实都是指到同一个inode上面。

3、可以从inode的number来证明:

4、(1) 先create一个file叫 /tmp/A

5、$ echo "123" > /tmp/A

6、(2) 用 ls -il 来看 inode 的 value (33 是 inode 的值):

7、$ ls -li /tmp/A

8、33 -rw-r--r-- 1 user1 grp1 4 Aug 10 12:20 /tmp/A

9、(3)造一个hard link 叫 /tmp/B:

10、$ ln /tmp/A /tmp/B

11、(4) 看他们的inode的值:(应该都是33)

12、$ ls -li /tmp/A /tmp/B

13、33 -rw-r--r-- 2 user1 grp1 4 Aug 10 12:20 /tmp/A

14、33 -rw-r--r-- 2 user1 grp1 4 Aug 10 12:20 /tmp/B

15、(5)用 find 来找所有inode等於33的档案:(应该找到 A 和 B):

16、$ find /tmp -inum 33 2>/dev/null

17、/tmp/B

18、/tmp/A

19、(6)delete file /tmp/A:

20、$ rm -f /tmp/A

21、(7)再用 find 来找所有inode等於33的档案:(应该只找到 B):

22、$ find /tmp -inum 33 2>/dev/null

23、/tmp/B

【#关于 Linux 的 hard link#】到此分享完毕,希望对大家有所帮助。