新建了一个文件f1,拿它作为小白鼠
soarli@soarli-virtual-machine:~/桌面/tstlnk$ ll
总用量 32
drwxr-xr-x 2 soarli soarli 4096 2月 3 13:41 ./
drwxr-xr-x 4 soarli soarli 4096 2月 3 13:34 ../
-rw-r--r-- 1 soarli soarli 20736 2月 3 13:18 f1
创建一个硬链接,不难发现其文件ID是相同的(指向同一块儿空间)
soarli@soarli-virtual-machine:~/桌面/tstlnk$ ln f1 f2
soarli@soarli-virtual-machine:~/桌面/tstlnk$ ll -i
总用量 56
936968 drwxr-xr-x 2 soarli soarli 4096 2月 3 13:41 ./
919635 drwxr-xr-x 4 soarli soarli 4096 2月 3 13:34 ../
936970 -rw-r--r-- 2 soarli soarli 20736 2月 3 13:18 f1
936970 -rw-r--r-- 2 soarli soarli 20736 2月 3 13:18 f2
创建一个软连接(我们可以把f1也当作硬链接,f3通过硬链接f1指向真实文件)
soarli@soarli-virtual-machine:~/桌面/tstlnk$ ln -s f1 f3
soarli@soarli-virtual-machine:~/桌面/tstlnk$ ll -i
总用量 56
936968 drwxr-xr-x 2 soarli soarli 4096 2月 3 13:41 ./
919635 drwxr-xr-x 4 soarli soarli 4096 2月 3 13:34 ../
936970 -rw-r--r-- 2 soarli soarli 20736 2月 3 13:18 f1
936970 -rw-r--r-- 2 soarli soarli 20736 2月 3 13:18 f2
931421 lrwxrwxrwx 1 soarli soarli 2 2月 3 13:41 f3 -> f1
copy f1 到 f4,不难发现,其文件ID发生变化(使用了一块儿新的存储空间)
soarli@soarli-virtual-machine:~/桌面/tstlnk$ cp f1 f4
soarli@soarli-virtual-machine:~/桌面/tstlnk$ ll -i
总用量 80
936968 drwxr-xr-x 2 soarli soarli 4096 2月 3 13:41 ./
919635 drwxr-xr-x 4 soarli soarli 4096 2月 3 13:34 ../
936970 -rw-r--r-- 2 soarli soarli 20736 2月 3 13:18 f1
936970 -rw-r--r-- 2 soarli soarli 20736 2月 3 13:18 f2
931421 lrwxrwxrwx 1 soarli soarli 2 2月 3 13:41 f3 -> f1
937048 -rw-r--r-- 1 soarli soarli 20736 2月 3 13:41 f4
小结:
- 系统对于硬链接有一个计数器,当硬链接数变为零时,彻底释放文件占用的空间
- 软连接则可以理解成“指针的指针”
参考资料:
https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
https://baike.baidu.com/item/%E7%A1%AC%E9%93%BE%E6%8E%A5/2088758?fr=aladdin
https://www.cnblogs.com/zhulin-jun/p/5635180.html
版权属于:soarli
本文链接:https://blog.soarli.top/archives/45.html
转载时须注明出处及本声明。