magx与Linux的区别,硬链接和软链接的区别

硬链接和软链接的区别

1、概念

在linux中,链接可分为两种:一种为硬链接,另一种为软链接。

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

软链接:ln -s(soft)源文件 目标文件

硬链接

硬链接是指通过索引节点inode来进行链接。

linux系统中每个文件对应一个inode,并且允许多个文件名指向用一个inode。这种情况的文件就成为硬链接。

它的作用之一就是允许一个文件拥有多个入口,防止重要数据误删。

硬链接的原理:

3c8ce6380daa33c267ccb0e2e66a02de.png

软链接

软链接也称为符号链接,相当于windows中的快捷方式。文件类型为L,是一个特殊的文件。文件中包含了另一个文件的路径信息内容。

软链接的原理:

3c8ce6380daa33c267ccb0e2e66a02de.png

2、实验

实验1:首先创建一个magedufile,可以看到硬链接数为1,通过ln创建一个硬链接magedufile_link,再次通过ls -li,可以发现数字变成2,两个文件第一列inode数量都为33612019。cat硬链接内容与源文件一样。把源文件删除后,link文件依然还在,内容没丢失,链接数变为1。ln不能对目录创建硬链接。

[root@centos7 magedu]#ls -l

-rw-r–r–. 1 root root 17 Jul 23 13:38 magedufile

[root@centos7 magedu]#cat magedufile

i am study linux

[root@centos7 magedu]#ln magedufile magedufile_link

[root@centos7 magedu]#ls -li

total 8

33612019 -rw-r–r–. 2 root root 17 Jul 23 13:38 magedufile

33612019 -rw-r–r–. 2 root root 17 Jul 23 13:38 magedufile_link

[root@centos7 magedu]#cat magedufile_link

i am study linux

[root@centos7 magedu]#rm -f magedufile

[root@centos7 magedu]#ls

magedufile_link

[root@centos7 magedu]#cat magedufile_link

i am study linux

[root@centos7 magedu]#ls -li

total 4

33612019 -rw-r–r–. 1 root root 17 Jul 23 13:38 magedufile_link

[root@centos7 ~]#ln Desktop Desktop.bak

ln: ‘Desktop’: hard link not allowed for directory

总结:

(1)具有相同inode节点号的多个文件是为互为硬链接文件

(2)删除硬链接文件或者源文件,文件本身并未被删除

(3)删除文件的所有硬链接和源文件,文件才真正被删除

(4)硬链接文件是文件的另一个入口

(5)硬链接文件可以用rm命令删除

实验2:创建一个文件,通过ln -s创建软链接后查看发现inode不同,软链接后面跟一个->指向源文件,当删除源文件后,软链接指向发生错误。

[root@centos7 app]#echo “i am study linux” >/app/magedudir

[root@centos7 app]#ls -l

total 4

-rw-r–r–. 1 root root 17 Jul 23 15:01 magedudir

[root@centos7 app]#ln -s magedudir magedudir_slink

[root@centos7 app]#ls -li

total 4

67 -rw-r–r–. 1 root root 17 Jul 23 15:01 magedudir

68 lrwxrwxrwx. 1 root root  9 Jul 23 15:03 magedudir_slink -> magedudir

3c8ce6380daa33c267ccb0e2e66a02de.png

总结:

(1)快捷方式,可以通过readlink查看指向

(2)是一个文本文件。里面存放的是源文件的路径,指向源文件

(3)删除源文件,软链接依然存在,但是无法正常指向源文件

(4)失效的时候红底闪烁提示

(5)软链接和源文件是不同类型的文件,也是不同的文件。inode不相同。

(6)删除软链接文件可以用rm命令

3、区别

(1)创建方式的不同。默认不带参数的情况下,ln创建的是硬链接,带-s参数创建的是软链接

(2)硬链接文件与源文件的inode相同,而软链接文件的inode与源文件不同

(3)ln不能对目录创建硬链接,但可以创建软链接。

(4)删除文件的软链接文件,对源文件及硬链接文件无任何影响

(5)删除文件的硬链接文件,对源文件及软链接文件无任何影响

(6)删除链接文件的源文件,对硬链接文件无影响,会导致软链接失效

(7)同时删除源文件及其硬链接,整个文件才会被删除

(8)软链接可以跨文件系统,硬链接不可以跨文件系统

4、附加

文件的删除原理

文件的删除由两个变量控制:

i_link  文件的硬链接数量

i_count 引用计数(有一个程序调用就+1)

文件删除的条件:

i_link=0 && i_count=0

原创文章,作者:eleven,如若转载,请注明出处:http://www.178linux.com/82407

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值