软链接与硬链接

链接——是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。在Linux中分为软链接(soft link)和硬链接(hard link),其中软链接又称为符号链接(symbolic link)。
1、索引节点:在linux系统中对文件的管理本质上是通过其索引节点进行管理的。从系统的角度来看,文件的索引节点(inode)是文件的唯一标识,它包含了文件系统处理文件所需要的全部信息。详细来说,实际上存在两种类型的索引节点
  • 内核索引节点(in-core indoe):保存在内存中,在系统中每个打开的文件都对应着一个内核索引节点,
  • 磁盘索引节点(on-disk inode):在文件系统中的每一个文件都有一个磁盘索引节点,保存在磁盘上,它所保存的具体信息与文件系统的类型有关。

注意:这两种索引节点的关系为:当进程打开一个文件时,文件的磁盘索引节点中的信息就会被载入内存,并建立一个内核索引节点。当内核索引节点被修改后,系统负责将其同步到磁盘上。磁盘索引节点与对应的内核索引节点所保存的信息并不是完全相同的。内核索引节点记录的是关于文件的更通用的一些信息,而忽略掉于具体文件系统类型相关的一些信息。


简而言之,软链接相当于windows中的快捷方式,硬链接相当于一个灾备系统,数据存放在两处,与复制不同

的是两处之间存在同步机制,一处数据的改变会实时同步到另一处,另外,一处数据如果被删除了,不会影响

到另一处的数据.下面是详细的介绍:

      硬连接指向的是节点(inode),是已存在文件的另一个名字,修改其中一个,与其连接的文件同时被修

改;对硬链接文件进行读写和删除操作时候,效果和软链接相同。但如果我们删除硬链接文件的源文件,

硬链接文件仍然存在,而且保留了原有的内容。这时,系统就“忘记”了它曾经是硬链接文件,而把他当

成一个普通文件。
硬链接文件有两个限制:
1、不允许给目录创建硬链接;
2、只有在同一文件系统中的文件之间才能创建链接。

      软连接指向的是路径(path),软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是

任意文件或目录,还可以链接不同文件系统的文件,和win下的快捷方式差不多。 软链接文件甚至可以链

接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象"),链接文件甚至可以循环链接自己,类

似于编程语言中的递归。

软链接和硬链接实例:


[flydream@flydream test]$ echo "This is a source file." > source_file
[flydream@flydream test]$ ls -li source_file
661162 -rw-rw-r-- 1 flydream flydream 23 Apr 20 13:05 source_file
[flydream@flydream test]$ ln -s source_file soft_link1  加了参数 '-s'  软链接
[flydream@flydream test]$ ln source_file hard_link1  
[flydream@flydream test]$ ls -li
total 8
661162 -rw-rw-r-- 2 flydream flydream 23 Apr 20 13:05 hard_link1
661163 lrwxrwxrwx 1 flydream flydream 11 Apr 20 13:05 soft_link1 -> source_file
661162 -rw-rw-r-- 2 flydream flydream 23 Apr 20 13:05 source_file
[flydream@flydream test]$


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值