什么是软链接?什么是硬链接?

https://blog.csdn.net/mnmiaoyi/article/details/98890446

我们都知道windows下选中文件右键可以创建该文件的快捷方式。占用的资源比较少。当你删除这个快捷方式的时候,并没有对源文件产生影响。
linux下的软连接也是如此,但是用快捷方式描述这种软链接不合适的,因为在linux下和软连接相对的有硬链接。

什么是硬链接?
linux利用ll命令看到结果。其中文件的权限-rw-------后面就是一个1,这个一就是硬链接数

[root@bogon ~]#ll
总用量 4
-rw-------. 1 root root 1257 8月 2 17:24 anaconda-ks.cfg
[root@bogon ~]#
什么是软链接?什么是硬链接?_第1张图片

linux里面,一个文件就相当于一个数据块。而这个数据块是否删除是由硬链接数所决定的。就比如上面的1就是anaconda-ks.cfg这个文件的所有硬链接数。

创建:
软链接:ln -s ./anaconda-ks.cfg shortcut-anaconda-ks.cfg
硬链接:ln ./anaconda-ks.cfg shortcut-anaconda-ks.cfg

[root@bogon ~]#ln -s ./anaconda-ks.cfg shortcut-anaconda-ks.cfg
[root@bogon ~]# ln ./anaconda-ks.cfg hard-anaconda-ks.cfg
[root@bogon ~]# ll
总用量 8
-rw-------. 2 root root 1257 8月 2 17:24 anaconda-ks.cfg
-rw-------. 2 root root 1257 8月 2 17:24 hard-anaconda-ks.cfg
lrwxrwxrwx. 1 root root 17 8月 8 22:23 shortcut-anaconda-ks.cfg -> ./anaconda-ks.cfg

在这里可以看到硬链接文件和原文件的链接数是一摸一样的,并且大小也是一摸一样。当用rm命令删除删除这两个硬链接,这是所有指向数据的数据块为0,那么这个数据就找不到了。就像这样,即使还有一个软链接在,用cat命令读取也是读取不到了。
什么是软链接?什么是硬链接?_第2张图片
动手试一下看看这个软连接还有没有用。可以看到我删除了源文件和一个硬链接之后软连接就变颜色了。用cat命令就无效了。那么这个数据还能不能找到了呢?
这个问题也不是我能够探究的了。
什么是软链接?什么是硬链接?_第3张图片

总结:

软连接特点:
①占用资源少
②不会增加链接数目。
③经常使用这种
硬链接特点
①占用资源倍增,相当于复制了一份文件
②用得比较少

你可能感兴趣的:(linux)