实现通过文件inode,搜索磁盘,查找到文件内容,参考的文章为:https://www.cnblogs.com/starrysky77/p/15516346.html

1. 搜索文件

追踪的文件为test.txt,大小为6字节,内容为:hello。

查看文件系统超级块信息:

块大小(block size)为4096,每32768个块组成一个块组(一个块组128M),每个块组包含8192个inode。其中,一个inode代表一个文件。
每个inode结构的大小为256字节,一个块可以保存4096/256=16个inode。
test.txt的inode为1048822,根据上面计算得到,此inode位于块组128中,第246个inode。
第246个inode位于本块组第15个块内,第6个inode。

查看块组128的信息:

块组128从4194336块开始保持文件数据,因此test.txt位于4194336+15=4194351块内。
inode在磁盘上的偏移为:4194351*4096 + (6-1)*256=17180062976。

查看磁盘上的数据:

第一个红框为文件大小:6字节;第二个红框为文件extent entry所在位置:0x2f51fd=3101181。extent entry在磁盘的偏移为:3101181*4096=12702437376,查看其内容:

最终找到了test.txt文件的内容。

2. 搜索目录


当前目录的inode为1048618,计算出保存目录内容的地址为17213693952,查看目录的内容

scrt-sfx-8.3.4-1699.ubuntu16-64.x86_64.deb的inode为1048619,十六进制为0x10002B,与红框中的数字相同。
由此可见,目录中保存了此目录下包含的文件的inode及文件的名称。

通过文件inode查找文件内容相关推荐

  1. linux中如何在文件中查找文件,linux下find(文件查找)命令的用法总结

    每一种操作系统都有成千上万的文件组成,对于linux这样"一切皆文件"的操作系统来说更不例外,大家应该都能很轻松使用windows下的文件查找功能,但是对linux这一功能可能并不 ...

  2. 从文件夹里面多个文件里面查找指定内容

    脚本执行方式:脚本名称  目录的路径 要查找的内容 #根据实际情况自行修改脚本,像目录里面递归查找等等#!/bin/bash num=`ls $1 |tr ' ' '^$'|wc -l` for i ...

  3. linux 查找html文件,linux查找文件内容包含

    如何在Linux下查找文件内容包含某个特定字符串的文件 怎样在Linux下查找文件内容包含某个特定字符串的文如何在Linux下查找文件内容包含某个特定字符串的文件? 我的目录下面有test1和test ...

  4. Linux 如何在文件中查找指定内容

    一.前言:在Linux系统当中,查找文件里面的指定内容 应该是系统维护.管理当中遇到最常见的.那么下面如何搜索.查找文件当中的内容呢?下面就介绍一下如何在文件中查找指定的内容 查找文件当中的内容,一般 ...

  5. C语言循环遍历文件夹查找文件内容(搜素/proc文件夹下的内容获取进程pid)

    参考文章:通过搜素/proc文件夹下的内容获取进程pid

  6. 怎么用计算机搜索文件,如何查找文件 巧用Win7快速查找文件

    现在电脑硬盘越来越大,硬盘中的文件数据也越来越多,随着使用时间推移,硬盘中会积累很多数据文件,虽然有些资料可能已经没什么用,但日子久了难免会遇到一些某些时候需要用的上的重要文件不知道放在哪的情况.即使 ...

  7. 如何读写txt文件 C++读和写txt文件操作 查找文件中存储的字符串中逗号的位置

    C++读和写文件操作说明 一. C++读和写文件操作说明 文章目录 C++读和写文件操作说明 一. C++读和写文件操作说明 1.打开方式 2.实例代码 2.1 第一版代码 2.2 第二版代码 二.补 ...

  8. python查找文件夹下的文件,python 查找文件夹下所有文件 实现代码 -电脑资料

    复制代码代码如下: def find_file_by_pattern(pattern='.*', base=".", circle=True): '''''查找给定文件夹下面所有 ...

  9. Nodejs读取文件、查找文件位置

    文章目录 读取文件 获取文件绝对路径 读取文件 导入fs模块 const fs = require('fs') 读取文件的内容,调用 fs.readFile(文件路径,格式,回调函数) fs.read ...

最新文章

  1. GridSearchCV 与 RandomizedSearchCV 用法注意随机搜索可以自定义打分 or loss 函数
  2. Oracle 11.2 安装Oracle 11.1的HR schoma
  3. 神经网络与定态薛定谔方程
  4. linux 飞行模拟,为推进2020款微软飞行模拟器开发:微软启动Flight Simulator X Beta测试...
  5. NLP之TopicModel:朴素贝叶斯NB的先验概率之Dirichlet分布的应用
  6. 10 个有关 String 的面试问题
  7. LeetCode 15. 三数之和 思考分析(双指针解)
  8. c++ 字符串拼接_python字符串零碎总结
  9. 【nodejs学习】0.nodejs学习第一天
  10. kubernetes视频教程笔记 (24)-存储-PV和PVC
  11. 【PCB学习笔记】绘制智能车四层板 --- DRC检查,拼版设计及资料输出
  12. pix4d计算机配置速度,实测大疆智图(DJI Terra)与Pix4D,Smart3D正射三维成果对比...
  13. 战术导弹飞行控制系统设计
  14. 计算机基础知识实验课教案,高职《计算机网络基础》实验课程教学设计
  15. 彻底了解DVD:从入门到精通(三)[转]
  16. 代理自动配置PAC学习
  17. 用七段数码管显示学号python_用七段数码管显示学号python
  18. RPG Maker XP游戏制作方法(六)
  19. hive 使用beelin连接报错
  20. 【北京-后厂村】大厂云集,精心筛选了19家公司推荐给你

热门文章

  1. 20210221 拨码开关
  2. 油腻中年初学PYTHON
  3. ajax学什么难,ajax分析与讲解,其实ajax一点也不难,只是你把它看难了
  4. 关于box2D多边形形状
  5. PHP开发环境与工具笔记,thinkphp开发工具有哪些(常用工具详解)
  6. 纳什博弈论的原理与应用
  7. 四级听力默写--图书馆
  8. php 单例模式的类,PHP设计模式之单例模式
  9. 特长可以填计算机应用吗,没有特长怎么写特长 特长一般填什么好
  10. PaddlePaddle笔记6-换脸(懂得都懂)