文章目录

  • 系列博文
  • 目录结构
    • 上一章节最后保持的目录结构
    • 删除file.txt文件
    • 现在的目录结构
  • 二进制dump
  • 删除file.txt后的二进制分析
    • data区的变化
    • inode区的变化
    • file.txt文件的数据区
    • 总结

系列博文

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

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

Linux文件系统:minix文件系统二进制分析3(硬链接与软链接)

目录结构

上一章节最后保持的目录结构

删除file.txt文件

 rm file.txt

现在的目录结构

二进制dump

hexdump -C /dev/sdb > chapter4.hex

  二进制内容如下:

00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000400  60 15 00 40 01 00 02 00  b0 00 00 00 00 1c 08 10  |`..@............|
00000410  8f 13 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000420  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000800  37 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |7...............|
00000810  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000aa0  00 00 00 00 00 00 00 00  00 00 00 00 fe ff ff ff  |................|
00000ab0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
00000c00  37 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |7...............|
00000c10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000013e0  00 00 00 00 00 00 00 00  00 00 fe ff ff ff ff ff  |................|
000013f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00001400  ed 41 00 00 00 01 00 00  78 b5 b2 61 00 03 b0 00  |.A......x..a....|
00001410  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001420  ed 41 00 00 60 00 00 00  9d 1c a1 61 00 02 b1 00  |.A..`......a....|
00001430  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001440  00 00 00 00 0c 00 00 00  77 1c a1 61 00 00 b2 00  |........w..a....|
00001450  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001460  a4 81 00 00 08 00 00 00  9d 1c a1 61 00 02 b3 00  |...........a....|
00001470  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00001480  ff a1 00 00 16 00 00 00  7f 18 b0 61 00 01 b4 00  |...........a....|
00001490  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0002c000  01 00 2e 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c010  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c020  01 00 2e 2e 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c040  02 00 64 69 72 64 65 6d  6f 00 00 00 00 00 00 00  |..dirdemo.......|
0002c050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c060  00 00 66 69 6c 65 2e 74  78 74 00 00 00 00 00 00  |..file.txt......|
0002c070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
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.......|
0002c0a0  05 00 73 6f 66 74 6c 69  6e 6b 32 66 69 6c 65 6c  |..softlink2filel|
0002c0b0  65 76 65 6c 32 2e 74 78  74 00 00 00 00 00 00 00  |evel2.txt.......|
0002c0c0  00 00 2e 73 77 70 00 00  00 00 00 00 00 00 00 00  |...swp..........|
0002c0d0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c0e0  00 00 2e 73 77 70 78 00  00 00 00 00 00 00 00 00  |...swpx.........|
0002c0f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0002c400  02 00 2e 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c410  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c420  01 00 2e 2e 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c430  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
0002c440  04 00 66 69 6c 65 6c 65  76 65 6c 32 2e 74 78 74  |..filelevel2.txt|
0002c450  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0002c800  68 65 6c 6c 6f 20 6d 69  6e 69 78 0a 00 00 00 00  |hello minix.....|
0002c810  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0002cc00  6c 65 76 65 6c 20 32 0a  00 00 00 00 00 00 00 00  |level 2.........|
0002cc10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
0002d000  64 69 72 64 65 6d 6f 2f  66 69 6c 65 6c 65 76 65  |dirdemo/fileleve|
0002d010  6c 32 2e 74 78 74 00 00  00 00 00 00 00 00 00 00  |l2.txt..........|
0002d020  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
01000000

删除file.txt后的二进制分析

data区的变化

  对比删除file.txt文件前后,根目录inode节点数据区的变化,可以看到file.txt文件的第一个字节由03变为了00,删除之前inode3为file.txt的inode节点,删除之后file.txt文件指向的inode为0,即空节点。

  可以得出结论:当我们在命令行下执行rm file.txt命令删除根目录下的file.txt文件后,内核并没有将根目录inode节点指向的数据区中关于file.txt的信息删除,仅仅是将其指向的inode节点由03修改为了00。

inode区的变化

  对比删除file.txt文件前后,inode区二进制数据的变化,如下图所示,可以看到inode3中的第14个字节由01变为了00,说明引用本节点的文件名为0个,即没有。前两个字节(文件的类型和权限属性)也变为了00 00。

file.txt文件的数据区

  对比删除file.txt文件前后,如下图所示,我们可以看到file.txt数据区的内容并未发生变化。

总结

  在linux执行rm操作,并未将操作的文件信息全部从硬盘上抹去,而是通过修改inode节点属性和文件所在目录的data区中相关文件指向的inode节点值来完成文件的删除操作,所以数据还是能恢复回来的。

Linux文件系统:minix文件系统二进制分析4(rm删除)相关推荐

  1. dll可以在linux下使用吗_Linux下使用rm删除文件,并排除指定文件

    推荐文章 Linux 最常用命令整理,建议收藏! linux ss 命令用法说明 如何配置Linux系统的IP地址? Linux TCP状态TIME_WAIT 过多的处理 rm是我们在Linux下删除 ...

  2. Linux文件系统:minix文件系统二进制分析1(格式化)

    文章目录 系列博文 1. minix文件系统二进制分析1:刚刚格式化后的文件系统 1.1 创建硬盘 1.1.1 添加一个16M的块设备 1.1.2 格式化块设备 1.2 minix文件系统的存储结构 ...

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

    文章目录 系列博文 前言 创建目录和文件 hexdump硬盘为16进制文本 二进制分析 超级块 s_state属性 inode bitmap data block bitmap inode表 根目录i ...

  4. Linux文件系统:minix文件系统二进制分析3(硬链接与软链接)

    文章目录 系列博文 硬链接 当前minix文件系统目录结构 创建filelevel2.txt的硬链接文件 创建filelevel2.txt的软链接文件 当前minix文件系统目录结构 hexdump文 ...

  5. hdfs文件系统和linux文件系统,分布式文件系统HADOOP HDFS与传统文件系统LINUX FS的比较与分析...

    分布式文件系统HADOOP HDFS与传统文件系统LINUX FS的比较与分析 第3 0卷第 4期 2 1 8月 0 0年 苏 州 大 学 学 报(工 科 版) Vo_ O No 4 13 . Au ...

  6. Linux 文件系统之 MINIX 文件系统

    MINIX 文件系统与标准 UNIX 的文件系统基本相同,它由 6 个部分组成:①引导块:②超级块:③ i 节点位图:④逻辑块位图:⑤i 节点:⑥数据块.对于一个普通的磁盘块设备来说,其各部分的分布见 ...

  7. 马哥学习周总结第一周→linux简介、’文件系统及基础命令------李洋个人笔记。...

    linux计算机的设备有两种 1 字符设备(顺序数据) 键盘,显示器 共同点是数据交换时是一个一个字符来进行的. 2 块设备(随机数据) 硬盘 交换数据按包为单位进行. Linux的文件:在存储空间存 ...

  8. Linux 知:文件系统

    文章目录 1. 前言 2. 文件 2.1. 一切皆文件 2.2. 文件属性 2.3. 目录结构 2.4. 文件路径 3. 文件系统 3.1. 文件系统种类 3.2. 文件系统特性 3.2.1. 格式化 ...

  9. 基于Linux的嵌入式文件系统构建与设计

    摘 要: Linux是当今一种十分流行的嵌入式操作系统.由于其具有执行效率高.占用空间小.实时性能优良和可扩展性强等特点,因此被广泛应用于工业控制领域.该文对其文件系统进行了简单的介绍,结合嵌入式系统 ...

最新文章

  1. 基于WebSocket实现聊天室(Node)
  2. 如何配置Keil 外部编辑器?
  3. java 程序编译和运行的过程
  4. 轻松掌控全链路监控:方案概述与对比 | 真的很干!
  5. flask运行多个服务器,与Flask服务器同时运行while循环
  6. 蛮力法在求解最优解问题中的应用(JAVA)--旅行家问题、背包问题、分配问题
  7. CTRL-Space always toggles Chinese IME (Windows 7、10)
  8. win10禁止易升最有效的办法
  9. Mac-删除自带 ABC 输入法的方法
  10. 微信小程序 - 开发者账号申请流程
  11. Android 源代码分享
  12. 《基因 7》(GENE VII)问题汇编
  13. python日本 老龄化分析_即将读研,求问前辈有什么研究生安利的软件 APP 或者阅读文献用的等一系列提高效率的东西吗!?...
  14. VLC for Android源码下载和编译
  15. hive登录失败的问题解决
  16. org.postgresql.util.psqlexception总结
  17. 程序员前辈归纳整理Python中的控制流语句的知识点(要记得收藏)
  18. 量子计算机三种,MIT发现第三种磁性 可造量子计算机?
  19. 为什么放弃Vim而选择Neovim?
  20. 如何提高睡眠效率和质量?

热门文章

  1. 从IT之家看企业上云
  2. 在百度云购买域名、阿里云购买服务器二者绑定过程
  3. 专升本英语 学习笔记
  4. 用Python实现tree命令
  5. 流动的推荐系统——兴趣Feed技术架构与实现
  6. openwrt web中文语言支持,并设置默认中文
  7. Linux命令如何进入screen,linux screen命令基础
  8. 【渝粤题库】陕西师范大学151211 税法与纳税会计 作业(专升本)
  9. AE基础教程(13)——第13章 消隐
  10. Python中使用pickle库进行数据的序列化存储