Linux文件系统:minix文件系统二进制分析4(rm删除)
文章目录
- 系列博文
- 目录结构
- 上一章节最后保持的目录结构
- 删除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删除)相关推荐
- dll可以在linux下使用吗_Linux下使用rm删除文件,并排除指定文件
推荐文章 Linux 最常用命令整理,建议收藏! linux ss 命令用法说明 如何配置Linux系统的IP地址? Linux TCP状态TIME_WAIT 过多的处理 rm是我们在Linux下删除 ...
- Linux文件系统:minix文件系统二进制分析1(格式化)
文章目录 系列博文 1. minix文件系统二进制分析1:刚刚格式化后的文件系统 1.1 创建硬盘 1.1.1 添加一个16M的块设备 1.1.2 格式化块设备 1.2 minix文件系统的存储结构 ...
- Linux文件系统:minix文件系统二进制分析2
文章目录 系列博文 前言 创建目录和文件 hexdump硬盘为16进制文本 二进制分析 超级块 s_state属性 inode bitmap data block bitmap inode表 根目录i ...
- Linux文件系统:minix文件系统二进制分析3(硬链接与软链接)
文章目录 系列博文 硬链接 当前minix文件系统目录结构 创建filelevel2.txt的硬链接文件 创建filelevel2.txt的软链接文件 当前minix文件系统目录结构 hexdump文 ...
- hdfs文件系统和linux文件系统,分布式文件系统HADOOP HDFS与传统文件系统LINUX FS的比较与分析...
分布式文件系统HADOOP HDFS与传统文件系统LINUX FS的比较与分析 第3 0卷第 4期 2 1 8月 0 0年 苏 州 大 学 学 报(工 科 版) Vo_ O No 4 13 . Au ...
- Linux 文件系统之 MINIX 文件系统
MINIX 文件系统与标准 UNIX 的文件系统基本相同,它由 6 个部分组成:①引导块:②超级块:③ i 节点位图:④逻辑块位图:⑤i 节点:⑥数据块.对于一个普通的磁盘块设备来说,其各部分的分布见 ...
- 马哥学习周总结第一周→linux简介、’文件系统及基础命令------李洋个人笔记。...
linux计算机的设备有两种 1 字符设备(顺序数据) 键盘,显示器 共同点是数据交换时是一个一个字符来进行的. 2 块设备(随机数据) 硬盘 交换数据按包为单位进行. Linux的文件:在存储空间存 ...
- Linux 知:文件系统
文章目录 1. 前言 2. 文件 2.1. 一切皆文件 2.2. 文件属性 2.3. 目录结构 2.4. 文件路径 3. 文件系统 3.1. 文件系统种类 3.2. 文件系统特性 3.2.1. 格式化 ...
- 基于Linux的嵌入式文件系统构建与设计
摘 要: Linux是当今一种十分流行的嵌入式操作系统.由于其具有执行效率高.占用空间小.实时性能优良和可扩展性强等特点,因此被广泛应用于工业控制领域.该文对其文件系统进行了简单的介绍,结合嵌入式系统 ...
最新文章
- 基于WebSocket实现聊天室(Node)
- 如何配置Keil 外部编辑器?
- java 程序编译和运行的过程
- 轻松掌控全链路监控:方案概述与对比 | 真的很干!
- flask运行多个服务器,与Flask服务器同时运行while循环
- 蛮力法在求解最优解问题中的应用(JAVA)--旅行家问题、背包问题、分配问题
- CTRL-Space always toggles Chinese IME (Windows 7、10)
- win10禁止易升最有效的办法
- Mac-删除自带 ABC 输入法的方法
- 微信小程序 - 开发者账号申请流程
- Android 源代码分享
- 《基因 7》(GENE VII)问题汇编
- python日本 老龄化分析_即将读研,求问前辈有什么研究生安利的软件 APP 或者阅读文献用的等一系列提高效率的东西吗!?...
- VLC for Android源码下载和编译
- hive登录失败的问题解决
- org.postgresql.util.psqlexception总结
- 程序员前辈归纳整理Python中的控制流语句的知识点(要记得收藏)
- 量子计算机三种,MIT发现第三种磁性 可造量子计算机?
- 为什么放弃Vim而选择Neovim?
- 如何提高睡眠效率和质量?