参考大神地址: https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/index.html
下面是我提出来的最简单的理解
1.简单地上截图
2.简单的理解
linux中存储一个文件是分为元数据(metadata)和用户数据(user data),元数据存放文件的属性,例如创建时间,文件大小等。其中重要的有一个是索引节点(inode),访问一个文件是同过文件名找到索引节点,再通过索引节点找到用户数据即文件的内容。
通过命令 ln oldfilename hardlinkname
创建一个硬链接,其结果就是如图2有两个文件名指向同一个inode,前提是同一种linux文件系统才能创建成功
通过命令 ln -s oldfilename softinkname 加-s参数就是创建软连接的方式,软连接就像windows系统中的快捷方式
删除oldfile后,软连接就失效了,而硬链接正常使用,linux删除文件的判断是指向该文件对应inode的计数为0时才真正删除文件
如果指向inode的计数减1后不为0,那么rm删除文件的名利只是删除该文件的一个入口而已,基于这点,创建硬链接有效防止误删操作。
而软连接在删除oldfile就像windows的桌面快捷访问一样失效了