软链接和硬链接到底有啥作用和区别

一 、建立软链接和硬链接的语法
软链接:ln -s 源文件 目标文件 
硬链接:ln 源文件 目标文件 
源文件:即你要对谁建立链接

二、 什么是软链接和硬链接
1,软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。 
2,硬链接等于cp -p 加 同步更新。

为了方便说明,我在根分区(/)下建立test文件夹,然后新建了一个jys文件 
 
建立软链接和硬链接: 


区别:

软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系(从jys.soft->jys可以看出),不是源文件的内容,大小不一样容易理解。 
硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。 


但是简单的copy的文件创建文件的时间应该是复制文件时的时间,肯定不会像硬链接那样和创建源文件的时间相同。你想的没错。 
 
但是只要加一个选项-p,时间就一样了 
 
 
那么cp -p的文件是不是就相当于硬链接了呢?其实不然,对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。 
 
所以,硬链接等于cp -p加同步更新。 
软链接像快捷方式,方便我们打开源文件,这一点在windows中深有体会。

那硬链接有哪些应用呢? 
在多用户的操作系统里,你写一个脚本,程序等,没有完成,保存后等下次有时间继续写,但是其他用户有可能将你未写完的东西当成垃圾清理掉,这时,你对你的程序,脚本等做一个硬链接,利用硬链接的同步更新,就可以防止,别人误删你的源文件了。

三、删除源文件的软链接和硬链接的影响
 
查看软链接文件,查看的文件不存在。和windows一样,删除源文件,快捷方式也用不了。但是删除源文件,为什么硬链接文件还可以查看呢? 
这里要简单说下i节点了。i节点是文件和目录的唯一标识,每个文件和目录必有i节点,不然操作系统就无法识别该文件或系统,就像没有上户口的黑户。linux操作系统是不识别些字母的,像这些jys ,jys.hard操作系统根本不知道是什么玩意。 
 
可以看出硬链接文件和源文件i节点号相同,并且一个i节点可以对应多个文件名。 

如图,删除了jys,只是删除了从920586到jys的映射关系,不影响它和jys.hard的映射关系。此图也解释了硬链接的同步更新,对源文件修改,操作系统只认i节点,于是操作系统就将修改内容写进所有i节点相同名字不同的文件。写到这里我突发奇想,如果对硬链接文件进行修改那么源文件会不会同步更新呢?留给读者自己试验吧!
————————————————
版权声明:本文为CSDN博主「明月几时有666」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gao_zhennan/article/details/79127232

软链接(也称为符号链接)和硬链接是文件系统中用于创建文件或目录引用的两种方式,它们有以下区别: 1. 链接方式: - 硬链接硬链接实际上是指向文件存储位置的指针,是文件系统中对文件的索引节点(inode)的直接引用。硬链接创建的是文件的别名,它与原文件有着相同的inode号。 - 软链接软链接则是一种特殊类型的文件,它存放的是另一个文件的路径名,类似于快捷方式,它指向原文件的路径。 2. 文件删除的处理: - 硬链接:由于硬链接和原文件是同一个inode,所以当删除原文件时,只要有硬链接存在,文件内容就不会被删除,因为文件系统认为该文件还在被使用。 - 软链接:如果删除了原文件,软链接仍然存在,但是它会变成一个悬空的链接(dangling link),因为它所指向的文件已经不存在了。 3. 链接的限制: - 硬链接硬链接不能跨文件系统创建,也就是说,不能为位于不同分区或文件系统的文件创建硬链接。 - 软链接软链接没有这样的限制,可以链接到其他文件系统中的文件。 4. 对目录的链接: - 硬链接:不能为目录创建硬链接,因为这会破坏文件系统的层次结构。 - 软链接:可以为目录创建软链接,但出于安全和逻辑一致性的考虑,通常不建议这么做。 5. 性能: - 硬链接硬链接在使用上与直接访问原文件几乎没有性能差异,因为它们直接指向相同的inode。 - 软链接:访问软链接时需要进行额外的路径解析步骤,因此在性能上略逊于硬链接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值