美文网首页
硬连接和软连接

硬连接和软连接

作者: 周_0717 | 来源:发表于2020-04-26 17:32 被阅读0次

硬链接:通过索引节点(inode)来进行链接(创建了一个新的Directory项,但是不占用空间);
特点:

  1. 一个文件可以对应多个硬连接,且多个硬连接拥有相同的 inode 及 data block;硬连接可看作直接引用指针,不同的硬连接对应不同的引用名称。
  2. 只能对已存在的文件进行创建;inode 是随着文件的存在而存在,在同一个文件系统下是唯一的,每增加一个硬链接,链接数加1,每删除一个硬链接,链接数减1,当硬链接数量减到到0时,表明没有文件名指向这个inode,系统就会回收这个inode号码,以及其所对应block区域。
  3. 不能交叉文件系统进行硬链接的创建;因为不同文件系统inode 号是重新计算的,可能存在相同inode。
  4. 不能对目录进行创建,只可对文件创建;目录本身就是就是一个inode集合(自身也有inode),如果对其创建硬链接生成inode,则可能出现inode循环。
  5. 删除一个硬链接文件并不影响其他有相同 inode 号的文件。

使用硬链接访问文件的步骤:

  1. 首先找到目标文件最外层目录的inode(根目录的 inode 是系统已知的,inode 号是2),然后判断用户是否有权限访问此inode对应的 block。
  2. 如果有权限,则可以在此目录的 block 中查找下级目录和文件的inode。
  3. 如果查找到 inode 号,然后判断用户是否有权限访问此inode对应的 block。
  4. 重复上述步骤知道没有权限或者访问到目标inode的 block。

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

软链接:通过文件路径(类似快捷方式)快速定位到软连接所指向的源文件实体(新建了一个文件,指向原文件,并且占用空间);
特点:

  1. 软链接有自己的文件属性及权限等;软链接会新建自己的 inode 信息和 block,只是在 block 中不存储实际文件数据,而存储的是源文件的文件名及 inode 号。
  2. 可对不存在的文件或目录创建软链接;
  3. 软链接可交叉文件系统;
  4. 软链接可对文件或目录创建;
  5. 创建软链接时,链接计数不会增加;
  6. 删除软链接并不影响被指向的文件,但若被指向的原文件被删除,则相关软连接被称为死链接(即 dangling link,若被指向路径文件被重新创建,死链接可恢复为正常的软链接)。

使用软链接访问文件的步骤(前三步同硬链接):

  1. 首先找到目标文件最外层目录的inode(根目录的 inode 是系统已知的,inode 号是2),然后判断用户是否有权限访问此inode对应的 block。
  2. 如果有权限,则可以在此目录的 block 中查找下级目录和文件的inode。
  3. 如果查找到 inode 号,然后判断用户是否有权限访问此inode对应的 block。
  4. 重复上述步骤知道没有权限或者访问到目标文件内容。
  5. 从目标文件内容获取实际内容的inode,根据inode去访问对应block(可能不存在)。

2020-04-26

相关文章

  • ln -s 软链接

    linux 创建连接命令 ln -s 软链接linux-ln -s(链接)、mount(挂载 软连接和硬连接 硬链...

  • 硬连接和软连接

    硬链接:通过索引节点(inode)来进行链接(创建了一个新的Directory项,但是不占用空间);特点: 一个文...

  • 软连接硬连接

    硬链接: 具有相同inode节点号的多个文件互为硬链接文件; 删除硬链接文件或者删除源文件任意之一,文件实体并未被...

  • linux创建一个软连接和硬链接的区别

    软连接和硬链接的区别 软连接相当于windows的快捷方式,硬链接相当于重新拷贝了一份文件,并且对硬连接内容的修改...

  • linux链接命令

    硬连接 软连接 命令格式 如果不写-s则为硬链接

  • 硬连接与软连接

    要理解硬连接(hard link)与软连接(symbolic link)的差别,首先要知道 Linux 中文件是如...

  • 软连接和硬连接区别

    关于硬链接: 硬链接的本质是给文件起一个新的名字,实质上是同一个文件; 创建硬链接的命令是ln 硬链接特性: ...

  • linux下软连接和硬连接的区别

    这几天看操作系统的文件系统,看到关于文件连接的问题.文件连接分为两种,软连接和硬连接,其中软连接就是我们通常说的符...

  • 【LINUX】

    1. 硬链接和软连接区别 硬连接-------指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区...

  • Linux文件查看相关命令

    -文件创建命令 -文件查看命令 -软连接和硬链接

网友评论

      本文标题:硬连接和软连接

      本文链接:https://www.haomeiwen.com/subject/tpkjwhtx.html