linux中如何解决误删问题

71次阅读
没有评论

共计 1060 个字符,预计需要花费 3 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 linux 中如何解决误删问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

删除一个文件到底删除了那些?

清空目录项,inode 的映射表   将 inode 号设为 0

block 映射表(bit table 位图)  将 block 设为 0

在一般的删除文件操作中,Linux 并不会立即清空存储该文件的 block 内容,而只会释放该文件所占用的 inode 和 data block,Linux 上  

rm 的过程其实就是将 inode bitmap 和 data block bitmap 中的相应标识设为空闲状态的过程,并不涉及到真正的数据,这也是为什么在 Linux 下删除大文件这么快速的原因,因为大文件所占的磁盘根本就没有清空。所以,如果我们能找到文件对应的 inode,由此查到相应的 data block,就可能从磁盘上把已删除的文件恢复出来,很多文件 / 磁盘恢复工具都是这么做的。

Linux 正统的文件系统 (如 ext2、3 等) 将硬盘分区时会划分出目录块、inode Table 区块和 data block 数据区域。一个文件由一个目录项、inode 和数据区域块组成。Inode 包含文件的属性(如读写属性、owner 等,以及指向数据块的指针),数据区域块则是文件内容。当查看某个文件时,会先从 inode table 中查出文件属性及数据存放点,再从数据块中读取数据。

系统通过文件名 找到 inode 号   通过 inode 号 获取 inode 信息,最后根据 inode 信息找到文件数据所在的 BLOCK 读取数据

目录项: 包括文件名和 inode 节点号。

目录项的结构如下(每个文件的目录项存储在该文件所属目录的文件内容里(block 块里)

Inode:又称文件索引节点,是文件基本信息 (类型、大小、权限、时间、链接数等) 的存放地和数据块指针存放地。

一个文件占用一个 inode

误删怎么办?
删除文件后停止写操作,

 grep -a -B 10 -A 100  关键字  /dev/sda1   tmp.txt
pre width:663.297px;overflow:auto;background:#f7f7f7;color:#555555; =  

如果有备份机的话 直接 dd

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“linux 中如何解决误删问题”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计1060字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)