linux的软链接和硬连接的区别
为解决文件的共享使用,Linux 系统引入了两种链接:硬链接 与软链接。链接为 Linux 系统解决了文件的共享使用,还带来了隐藏文件路径、增加权限安全及节省存储等好处。若一个 inode 号对应多个文件名,则称这些文件为硬链接。换言之,硬链接就是同一个文件使用了多个别名。链接可由命令 ln 创建。
文字描述:
描述Linux下软链接和硬链接的区别
在Linux系统中,链接分为两种,一种是硬链接(hard link),另一种称为符号链接或软链接(soft link 或symbolic Link)。
①创建:
默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。
ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。
可对不存在的文件或目录创建软链接,不能创建硬链接。
②关于inode:
硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同,
③删除:
删除软链接文件,对源文件和硬链接文件无任何影响。
删除文件的硬链接文件,对源文件及软链接文件无任何影响。
删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。
同时删除源文件及其硬链接文件,整个文件才会被真正的删除。
④很多硬件设备的快照功能,使用的就是类似硬链接的原理。
⑤软链接可以跨文件系统,硬链接不可以跨文件系统。
验证:
①创建链接
[root@luc ~]# mkdir test
[root@luc ~]# cd test/
存在文件
[root@luc test]# echo source111 >> test_link
[root@luc test]# ln -s test_link link_soft
[root@luc test]# ln test_link link_hard
存在目录
不存在文件创建软硬链接
②关于inode
源文件和硬链接的inode号是一样的都是16784637
和软件链接的不一样
③删除
删除软链接和硬链接,对源文件没有任何影响
删除源文件,软链接失效
补充:
修改任何链接都会修改源文件