博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
符号链接(symbolic link)和硬链接(hard link)的区别
阅读量:4028 次
发布时间:2019-05-24

本文共 1518 字,大约阅读时间需要 5 分钟。

符号连接,其实就是新建立一个文件,这个文件就是专门用来指向别的文件的(那就和windows 下的快捷方式的那个文件有很接近的意味)。软连接产生的是一个新的文件,但这个文件的作用就是专门指向某个文件的,删了这个软连接文件,那就等于不需要这个连接,和原来的存在的实体原文件没有任何关系,但删除原来的文件,则相应的软连接不可用(cat那个软链接文件,则提示“没有该文件或目录“)

硬连接是不会建立Inode的,他只是在文件原来的Inode link count域再增加 1而已,也因此硬链接是不可以跨越文件系统的。相反都是软连接会重新建立一个Inode,当然Inode的结构跟的不一样,他只是一个指明源文件的字符串信息,一旦删除源文件,那么软连接将变得毫无意义。而硬链接删除的时候,系统调用会检查link count的数值,如果他大于等于1,那么Inode不会被回收。因此文件的内容没有不会被删除。
硬链接实际上是为文件建一个别名,链接文件和原文件实际上是同一个文件。可以通过ls -i来查看一下,这两个文件的inode号是同一个,说明它们是同一个文件;而软链接建立的是一个指向,即链接文件内的内容是指向原文件的指针,它们是两个文件。

1.符号连接可以跨文件系统,硬链接不可以;
2.符号连接可以对一个不存在的文件名(filename)进行连接(当然此时如果你vi这个软连接文件,会自动新建一个文件名为filename的文件)    硬链接不可以(其文件必须存在,inode必须存在);
3.软连接可以对目录进行连接,硬链接不可以。

其他知识:符号连接:这个软链接文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。

ln -s  source_file softlink_file

硬链接:

ln -d existfile newfile   不用参数-d也可以的,如:ln existfile newfile

在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Number)。在Linux中,多个文件名指向同一索引节点是存在的(如:硬链接)
I节点(Inode) :它是UNIX内部用于描述文件特性的数据结构.我们通常称I节点为文件索引结点(信息结点).i节点 含有关于文件的大部分的重要信息,包括文件数据块在磁盘上的地址.每一个I节点有它自己的标志号,我们称为文件顺序号.I节点包含的信息 1.文件类型 2.文件属主关系 3.文件的访问权限 4.文件的时间截.

——————————————————————————————————————————————————————————————————————

硬链接与符号链接的区别在于:

硬链接与原来的文件有相同的i-node,即它们是无差别的指向一个存储数据的空间的索引;

符号链接可以理解为指向原来的文件的索引的索引.它与原来的文件是两个不同的文件.

所以这样的话假如存在三个文件的话,a是原文件,b是a的硬链接,而c是a 的符号链接.刚不管是那个文件或者目录的内容改变都会使得其它的文件的内容改变.对于原文件的删除,则c将变的不可用,而对b却没有任何的影响.b,c的删除不会对任何文件有影响.

注:

对于ln命令默认是建立硬链接的.

-s不是soft(软)的意思,而是symbolic(符号)的意思,因此应该是符号链接,而不是常说较链接,以后应该纠正.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sxhong/archive/2006/03/15/625130.aspx

你可能感兴趣的文章
Java的对象驻留
查看>>
自己动手写GC
查看>>
Java 8新特性终极指南
查看>>
logback高级特性使用(二) 自定义Pattern模板
查看>>
JVM 线程堆栈分析过程详解
查看>>
JVM并发机制探讨—内存模型、内存可见性和指令重排序
查看>>
可扩展、高可用服务网络设计方案
查看>>
如何构建高扩展性网站
查看>>
微服务架构的设计模式
查看>>
持续可用与CAP理论 – 一个系统开发者的观点
查看>>
nginx+tomcat+memcached (msm)实现 session同步复制
查看>>
c++指针常量与常量指针详解
查看>>
c++字符数组和字符指针区别以及str***函数
查看>>
c++的string类初始化及其常用函数
查看>>
c++类的操作符重载注意事项
查看>>
c++模板与泛型编程
查看>>
STL::deque以及由其实现的queue和stack
查看>>
CS4344驱动
查看>>
WAV文件解析
查看>>
DAC输出音乐2-解决pu pu 声
查看>>