【Linux】文件元数据和节点结构及软硬链接区别

CSDN话题挑战赛第2期
参赛话题:学习笔记

inode表结构

每个文件的属性信息,比如:文件的大小,时间,类型等,称为文件的元数据(meta data)。

这此元数据是存放在node (index node) 表中。

node 表中有很多条记录组成,第一条记录对应的存放了一个文件的元数据信息。

第一个node表记录对应的保存了以下信息:

  • inode number 节点号
  • 文件类型
  • 权限
  • UID
  • GID
  • 链接数(指向这个文件名路径名称个数)
  • 该文件的大小和不同的时间戳
  • 指向磁盘上文件的数据块指针
  • 有关文件的其他数据

inode结构

文件访问原理

在这里插入图片描述

cp和inode cp 命令:

  • 分配一个空闲的inode号,在inode表中生成新条目
  • 在目录中创建一个目录项,将名称与inode编号关联
  • 拷贝数据生成新的文件

rm和inode

rm命令

  • 链接数递减,从而释放的inode号可以被重用
  • 把数据块放在空闲列表中
  • 删除目录项
  • 数据实际上不会马上被删除,但当另一个文件使用数据块时将被覆盖

mv和inode

  • 如果mv命令的目标和源在相同的文件系统,作为mv命令
    • 用新的文件名创建对应新的目录项
    • 删除旧目录条目对应的旧的文件名
    • 不影响inode表(除时间戳)或磁盘上的数据位置:没有数据被移动!
  • 如果目标和源在一个不同的文件系统,mv相当于cp和rm

硬链接与软链接

硬(hard)链接

硬链接本质上就给一个文件起一个新的名称,实质是同一个文件

硬链接特性

  • 创建硬链接会在对应的目录中增加额外的记录项以引用文件
  • 对应于同一文件系统上一个物理文件
  • 每个目录引用相同的inode号
  • 创建时链接数递增
  • 删除文件时: rm命令递减计数的链接,文件要存在,至少有一个链接数,当链接数为零时,该文件被删除
  • 不能跨越驱动器或分区
  • 不支持对目录创建硬链接
格式

ln filename [linkname]

范例
[root@servera tmp]# ll 
total 4 
-rw-r--r--. 1 root root 2723Mar 25 17:12 passwd1 
[root@servera tmp]# ln passwd passwd1 
[root@servera tmp]# ll 
total 8 
-rw-r--r--. 2 root root 2723 Mar 25 17:12 passwd 
-rw-r--r--. root root 2723 Mar 25 17:12 passwd1

符号(symbolic)或软(soft)链接

一个符号链接指向另一个文件,就像windows 中快捷方式,软链接文件和原文件本质上不是同一个文件

软链接特点

  • 一个符号链接的内容是它引用文件的名称 、可以对目录创建软链接
  • 可以跨分区的文件实现
  • 指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
  • 在创建软链接时,如果源文件使用相对路径,是相对于软链接文件的路径,而非相对于当前工作目录,但是软链接的路径如果是相对路径,则是相对于当前工作目录
格式

ln -s filename [linkname]

范例
#绝对路径 
ln -s /data/dir /data/dirlink 
#相对路径 
cd /data 
ln -s ../data/dir /root/dirlink 
rm -rf /data/dirlink #删除软链接本身,不会删除源目录内容 
rm -rf /data/dirlink/ #删除源目录的文件,不会删除链接文件 
#查看链接文件指向的原文件 
readlink /data/dirlink

硬链接与软链接区别总结

  1. 本质
    硬链接:本质是同一个文件起了多个名字
    软链接:本质不是同一个文件
  2. 跨设备
    硬链接:不支持
    软链接:支持
  3. inode
    硬链接: 相同
    软链接: 不同
  4. 链接数
    硬链接:创建新的硬链接,链接数会增加,删除硬链接,链接数减少
    软链接: 创建或删除,链接数不会变化
  5. 文件夹
    硬链接:不支持
    软链接:支持
  6. 相对路径
    硬链接:原始文件相对路径是相对于当前工作目录
    软链接:原始文件的相对路径是相对于链接文件的相对路径
  7. 删除源文件
    硬链接:只是链接数减一,但链接文件的访问不受影响
    软链接:链接文件将无法访问
  8. 文件类型
    硬链接: 和源文件相同
    软链接:链接文件和源文件无关
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LenckCuak

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值