共计 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 网 – 提供最优质的资源集合!