本文转载自:https://blog.csdn.net/gao_zhennan/article/details/79127232

一.建立软链接和硬链接的语法

软链接:ln -s 源文件 目标文件
硬链接:ln 源文件 目标文件
源文件:即你要对谁建立链接

二.什么是软链接和硬链接

1.软链接可以理解成快捷方式。它和windows下的快捷方式的作用是一样的。
2.硬链接等于cp -p 加同步更新。(我觉得和shared_ptr类似)
3.目录和文件都可以创建软链接,只能对文件创建硬链接。
为了方便说明,我在根目录(/)下建立test文件夹,然后新建了一个jys文件
软链接和硬链接
建立软链接和硬链接:
软链接和硬链接
区别: 软链接文件的大小和创建时间和源文件不同。软链接文件只是维持了从软链接到源文件的指向关系(从jys.soft->jys可以看出),不是源文件的内容,大小不一样容易理解。
硬链接文件和源文件的大小和创建时间一样。硬链接文件的内容和源文件的内容一模一样,相当于copy了一份。
那么cp -p的文件是不是就相当于硬链接了呢?其实不然,对于源文件的内容有修改,硬链接文件会同步更新修改,始终保持和源文件的内容相同,而复制的文件则不可能做到这一点。同样,如果对硬链接文件进行修改,那么源文件也会同步更新。
软链接和硬链接

三.删除源文件多软链接和硬链接的影响

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

相关文章: