栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux文件系统:minix文件系统二进制分析3

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux文件系统:minix文件系统二进制分析3

文章目录
      • 硬链接与软链接
        • 当前minix文件系统目录结构
        • 创建filelevel2.txt的硬链接文件
        • 创建filelevel2.txt的软链接文件
        • 当前minix文件系统目录结构
        • hexdump文件系统
        • 二进制分析硬链接文件
          • 技术参考

硬链接与软链接 当前minix文件系统目录结构

  在上一章中,我们创建了minix如下的目录结构,并且进行了二进制的分析,本篇将在上一篇文章的基础上,继续对文件系统的硬链接和软链接进行二进制分析。

创建filelevel2.txt的硬链接文件
ln dirdemo/filelevel2.txt hardlink2filelevel2.txt
创建filelevel2.txt的软链接文件
ln dirdemo/filelevel2.txt -s softlink2filelevel2.txt

当前minix文件系统目录结构

hexdump文件系统
hexdump -C /dev/sdb > chapter3.hex

  将创建软硬链接文件之前和之后的minix文件系统二进制数据进行比较,如下图所示,可以看到第一个inode节点(根目录)的数据区多了hardlink2filelevel2.txt和softlink2filelevel2.txt文件

二进制分析硬链接文件

  根节点的data区,关于硬链接文件hardlink2filelevel2.txt的二进制描述如下,从前两个字节我们可以知道,hardlink2filelevel2.txt文件指向了第4个inode节点。

0002c080  04 00 68 61 72 64 6c 69  6e 6b 32 66 69 6c 65 6c  |..hardlink2filel|
0002c090  65 76 65 6c 32 2e 74 78  74 00 00 00 00 00 00 00  |evel2.txt.......|

  如下图所示,我们从创建软硬链接之前和之后的二进制数据中看出:第14个字节i_nlinks由01变成了02,而第14字节的含义就是引用计数i_nlinks,在创建硬链接之前,该inode节点仅被filelevel2.txt文件所引用,所以第14字节i_nlinks为1。

  如下图所示,hardlink2filelevel2.txt和filelevel2.txt文件均指向第4个inode节点,所以i_nlinks变为2。所以硬链接相当于给一个文件取了个别名,它们都指向同一个inode节点,inode中的i_nlinks属性即为硬链接计数,既然是指向了同一个inode节点,那么他们数据区也指向的是存储介质中同一个位置,如下图所示。

  所以硬链接只能指向本文件系统里的文件,不能跨越文件系统创建硬链接。

技术参考
  1. 技术视频参考:https://ke.qq.com/course/417774?flowToken=1040946
  2. 参考文献:https://ke.qq.com/course/417774?flowToken=1040946
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/643236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号