linux软硬连接

软连接(快捷方式)

在这里插入图片描述

硬链接

在这里插入图片描述

  1. 文件数据存储在硬盘上,最小的存储单元是扇区,sector
  2. 磁盘扇区大小,512bytes,也就是0.5kb(现在文件动辄几GB)
  3. 操作系统在磁盘上读取扇区数据,以多个连续的扇区进行读取,这个连续的扇区,被称之为block(块)因此操作系统进行文件读写最小单位是块,8个扇区大小,也就是4kb。

inode

  1. 操作系统中专门用于管理和存储文件的信息软件被称为文件系统
  2. 文件是以文件数据+文件元信息组成的,文件的inode号+文件数据内容代表一个单个文件
  3. 文件系统又将文件元信息(元信息:存储文件大小,修改信息等,可用stat命令查看)存储在了一个称之为inode的地方,中文叫索引节点
  4. 查看文件的inode号,ls -li filename.txt
  5. 通过ls -l 查看到的数据,唯独文件名不属于inode存储的元信息

inode信息

  1. 文件大小
  2. 属主信息
  3. 属组信息
  4. 文件权限数字
  5. 文件修改时间
  6. 文件的实体指针,指向block位置

访问文件原理

在这里插入图片描述

  1. cat文件名
  2. 找到inode编号
  3. 根据inode号码找到文件在磁盘上的位置,也就是block的位置
    请添加图片描述
  4. 磁盘在格式化的时候,系统自动的分为了2部分,一部分是元数据区域,存放文件的inode信息,一个是文件数据内容区域。
  5. 每个inode的大小,都是在格式化分区的时候决定好了,默认是128或者256字节。

区别

在这里插入图片描述

  1. 软连接的inode号码是不一样的,代表软连接文件是单个的个体,硬链接的inode号是一样的。
  2. 目录文件夹不支持硬链接。
  3. 软连接可以针对文件夹操作。
  4. 硬链接数据量的增加,会增加inode号码的计数(增加计数,不是增加inode号码)。
  5. 创建硬链接:ln /opt/happy.txt /opt/happy1

综合对比

  1. 删除软连接对源文件和硬链接无影响
  2. 删除硬链接对软连接,源文件也是无影响的
  3. 删除源文件对硬链接无影响,但是影响软连接
  4. 删除源文件和所有硬链接,文件的链接数为0,此时文件数据丢失
  5. 源文件和硬链接具有相同的inode号码,相当于超时的不同门