首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C函数修改inode?

C函数修改inode?
EN

Stack Overflow用户
提问于 2016-06-17 12:30:50
回答 1查看 1.4K关注 0票数 2

我当时正在学习linux文件系统是如何工作的,我遇到了inode的概念。我编写了一个C程序来读取特定的inode并打印其内容。

现在,我不打算从C代码中修改inode的内容。我知道,如果出了问题,这可能会破坏文件系统,但我还是想尝试一下。

我怎样才能做到这一点?

EN

回答 1

Stack Overflow用户

发布于 2016-06-17 12:43:19

您需要访问驱动器的所谓“元”信息--驱动器上的信息--而不是正常的信息。要做到这一点,您需要打开驱动器本身,而不是驱动器中的任何文件或目录。

如果您说的是i节点,那么您是在Linux和ext文件系统上,所以驱动器名将类似于/dev/sdb。小心:这是整个磁盘,而不是其中的一个分区/卷/片。这可能被称为/dev/sdb2或其他什么-不同类型的Linux称之为不同的东西。

一旦打开了分区,您就可以把它当作一个(非常大的!)文件:碰巧被排列成硬盘上扇区的一连串字节。你可以寻找任何位置,并阅读那里的数据。如果你想覆盖它,你可以--但正如你说的:

您可能会完全销毁您的硬盘上的数据!

也许安装一个USB棒(上面没有什么重要的东西)并对其进行实验?让非常,确保您打开它的名称而不是主磁盘的名称!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37881664

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档