linux硬链接与软链接

喜欢而已 提交于 2019-12-26 18:40:12

supper block:记录文件系统的整体信息,包括inode/block大小、总量、使用量、剩余量,文件系统格式与相关信息等

inode:记录文件的属性和所在的block号码(不记录文件名),一个文件只占用一个inode,大小固定为128bytes,12个直接、1个间接、1个双间接、一个三间接记录区

block:记录文件的实际内容,一个block最多存放一个文件,一个文件可能占用多个block

文件系统一开始就将inode与block规划好了,除非重新格式化或者利用resize2fs等命令更改文件系统的大小,否则inode与block固定后就不再变动

通过dumpe2fs 分区  可查看该文件系统的上述信息

 

软链接:ln -s 原文件 目标文件(如果不加参数s,默认为硬链接)

1.两者inode号不同,目标文件的inode号的指针指向原文件的inode号

2.相当于快捷方式,可以跨分区

3.删除链接文件对原文件无影响,删除原文件链接文件失效

4.修改原文件或链接文件,文件内容都改变

硬链接:ln  原文件 目标文件

1.两者inode号相同

2.只可对文件创建,不能对目录创建,不能跨分区

2.删除链接文件对原文件无影响,删除原文件对链接文件无影响

3.修改原文件或链接文件,文件内容都改变

[root@oldboy 1]# touch a.txt
[root@oldboy 1]# ln -s a.txt s.txt ; ln a.txt h.txt
[root@oldboy 1]# ll -i
total 0
781850 -rw-r--r-- 2 root root 0 Oct  3 12:09 a.txt
781850 -rw-r--r-- 2 root root 0 Oct  3 12:09 h.txt
781851 lrwxrwxrwx 1 root root 5 Oct  3 12:09 s.txt -> a.txt
[root@oldboy 1]# echo 'hello'>>a.txt 
[root@oldboy 1]# cat h.txt ;cat s.txt 
hello
hello
[root@oldboy 1]# echo 'hi'>h.txt 
[root@oldboy 1]# cat a.txt ;cat s.txt 
hi
hi
[root@oldboy 1]# echo 'nice'>s.txt 
[root@oldboy 1]# cat a.txt ;cat h.txt 
nice
nice
[root@oldboy 1]# rm -rf a.txt 
[root@oldboy 1]# ll
total 4
-rw-r--r-- 1 root root 5 Oct  3 12:12 h.txt
lrwxrwxrwx 1 root root 5 Oct  3 12:09 s.txt -> a.txt---由于删除了原文件,此处链接文件指向的原文件a.txt一直闪烁,如果重新创建一个a.txt文件,链接文件恢复正常,
[root@oldboy 1]# cat s.txt ---删除了原文件,链接文件失效,无法查看内容
cat: s.txt: No such file or directory
[root@oldboy 1]# touch a.txt
[root@oldboy 1]# cat a.txt ;cat s.txt--重新创建一个与原文件同名的文件,链接文件恢复正常,且内容保持与新创建的文件一致
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!