linux中的软、硬链接

linux中的软、硬链接

硬链接

  硬链接(hard link),如果文件B是文件A的硬链接,则A的inode节点号与B的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件,A和B对文件系统来说是完全平等的。如果删除了其中一个,对另外一个没有影响。每增加一个文件名,inode节点上的链接数增加一,每删除一个对应的文件名,inode节点上的链接数减一,直到为0,inode节点和对应的数据块被回收。注:文件和文件名是不同的东西,rm A删除的只是A这个文件名,而A对应的数据块(文件)只有在inode节点链接数减少为0的时候才会被系统回收。

软链接

  软链接(soft link),又称为符号链接(symbolic link),如果C是A的软链接(A和C都是文件名),A的inode节点号与B的inode节点号不相同,A和B指向的是两个不同的inode,故而指向两块不同的数据块。但是C的数据块中存放的只是A的路径名(可以根据这个找到B的目录项)。A和C之间是“主从”关系,如果A被删除了,C仍然存在(因为两个是不同的文件),但指向的是一个无效的链接。

观察下图

  右边蓝色内存块中存储文件元数据,左边内存存储文件数据,A为文件,B文件是A的硬链接,C是A的软链接。A和B的inode号相同,指向同一块内存地址,C指向的是另一块内存地址,但是C指向的内存中存储着A文件的地址,故而可以找到A文件。

区别

  硬链接 软链接
原理 和原文件存储着相同的inode 指向的内存中存储着原文件的地址索引inode
inode号 和原文件inode相同 和原文件inode不同
删除原文件 不影响硬链接 软链接无法查看
是否可以指向目录 不能 可以
是否可以跨分区 不能     可以
命令 ln filename hdname ln -s filename stname
时间: 2024-08-03 12:47:18

linux中的软、硬链接的相关文章

LINUX系统中,软/硬链接和inode的一些关系。

前言:众所周知硬盘是计算机不可缺少的一部分,不管这个计算机上运行着的是什么系统,但是存储设备,都是必不可少的,而inode则是磁盘存储时无法替代的一部分.所以我想谈一下在linux系统中关于inode和软/硬链接的一些个人见解. 目录: 什么是inode 什么是硬链接 什么是软链接 软/硬链接在linux上的基本使用方法 软/硬链接和inode的联系 一,什么是inode 理解inode,要从文件储存说起.文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存5

linux中软链接和硬链接的区别与小结

ln命令 该命令在文件之间创建链接.这种操作实际上是给系统中已有的某个文件指定另外一个可用于访问它的名称.对于这个新的文件名,我们可以为之指定不同的访问权限,以控制对信息的共享和安全性的问题. 如果链接指向目录,用户就可以利用该链接直接进入被链接的目录而不用打一大堆的路径名.而且,即使我们删除这个链接,也不会破坏原来的目录. 语法:ln [选项] 目标 [链接名] ln [选项] 目标 目录 链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link).

Linux中软链接与硬链接详细解读

目标: 1.测试环境模拟 2.软链接特性 3.硬链接特性 4.总结 1.测试环境模拟 1 2 3 4 5 6 7 8 9 10 11 12 13 [[email protected] home]# mkdir test 创建测试文件夹 [[email protected] home]# cd test/  进入测试文件夹 [[email protected] test]# touch link  创建原文件link [[email protected] test]# echo "my name

inode 、软(硬)链接及fork与vfork

一.inode.软/硬链接 (一).1.inode 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区".每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候[不会一个个扇区地读取,这样效率太低],而是一次性连续读取多个扇区,即一次性读取一个"块".这种由多个扇区组成的"块",是文件存取的最小单位. 文件数据都储存在"块"中.而文件的创建者.文件的创建日期.文件的大小等等信息需要一个区域进行存储文件信息.这种储存文

Linux的软连接与硬链接

Linux的软连接相当于window系统的快捷方式,如我们桌面的QQ等. 硬连接相当于复制一个文件,但不同的是两个文件内容同步.如创建一个文件A的硬连接B, 如果我修改A里面的内容,同时B中的内容也会更新. 创建软连接的命令:ln -s  源文件  目标文件 创建硬连接的命令:ln   源文件  目标文件 硬连接不能跨区创建,比如/home 目录与/ect目录不在一个分区,a这个文件现在在/home目录中,这时你想对a文件创建硬连接到/ect目录下是不行的. 软连接可以跨区创建 Linux的软连

Linux下软链接与硬链接的区别

Linux下软链接与硬链接的区别 Linux中的文件都文件名和数据,在linux上面被分为两个部分:元数据与数据.用户数据,即文件数据块(data block),数据块是记录文件真实内容的地方,而元数据是文件的附加属性,如大小,创建时间,所有者等信息.在Linux中,元数据中的inode号(inode是文件的元数据的一部分,但其不包含文件名,inode号即索引节点号)才是文件的唯一标识而不是文件名.文件名仅是为了方便人们的记忆和使用,系统或程序通过inode号寻找正确的文件数据快.下图为程序通过

Linux的软链接与硬链接

文件系统: Linux上文件分为:用户数据(user data, 文件数据块(data block):记录文件真实内容的地址)和元数据(meta data,文件附加属性(文件大小.创建时间.所有者)inode号,文件索引节点号,文件唯一标识符而非文件名,系统和程序通过inode号寻找正确的文件数据块).[查看inode号可以使用 stat 或ls - i] 硬链接和软链接(又称符号链接):解决文件的共享使用.[ls -li] <https://www.ibm.com/developerworks

[转帖]Linux 下软链接和硬链接的区别

Linux 下软链接和硬链接的区别 http://os.51cto.com/art/201911/605267.htm 软连接 文件是小的 只是一个链接 删除和其他处理不影响 原始文件的计数 删除源文件 链接文件立马完蛋 但是可以跨文件挂载点进行连接. 硬链接 增加了innode 的引用计数. 删除时 只要还有一个有链接 文件就还有. 但是不能跨挂载点进行硬链接 软连接 就是 ln -s 硬链接 直接 ln 在 Linux 系统中,一切都是文件,然而为了区分不同类型的事物,我们有了: 普通文件

Linux文件系统中软链接和硬链接的区别

1.硬链接是创建一个指向block的inode,有防止误删除的功能.因为删除一个文件,实际上是删除inode信息,切断了inode与block之间的联系.当给一个文件做了硬链接之后,删除文件时,只会减少文件的链接数,当链接数为0时,才会彻底删除该文件.软链接类似Windows系统的快捷方式,是一个完整的文件,有自己的inode和block,block的内容就是原文件的文件名.当原文件删除后,软链接就失效了,没有防止误删除的功能. 2.文件的大小不一样.由于硬链接是指向原文件的block,所以硬链