IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:ext2

共 2 篇相关文章

IT 累计浏览 2,737

误删大文件的一个可能解救办法

这篇讲的是作者在服务器上误删一个10GB大文件后,如何利用Linux文件系统特性紧急抢救的过程。 当时作者正在对镜像文件计算md5校验和,另一个窗口误操作执行了rm删除。好在大文件删除需要时间,作者迅速暂停了md5sum进程。关键点在于:Linux系统中,只要还有进程打开并占用着这个文件,即便已执行rm命令,文件数据也不会被立即清除。 通过查看被暂停进程(PID 30888)在/proc文件系统中的文件描述符,作者找到了那个指向“已删除”文件的链接(/proc/30888/fd/3)。最后用简单的cp命令,就成功将文件内容复制出来保存为save.img,完成了数据恢复。 文章还补充道,对于文本文件可以用grep尝试恢复,而exe、图片等二进制文件则可借助TestDisk、PhotoRec等专业工具。整个过程清晰地展示了Linux文件删除的底层逻辑和一个实用的应急技巧。

IT 累计浏览 3,892

linux上ext2文件系统中,用debugfs来恢复被删除的文件

这篇讲的是在ext2文件系统上,如何利用debugfs工具将误删的文件找回来。作者从ext2的一个关键特性出发:执行rm命令时,其实只是删除了文件的索引,数据本身还保留在磁盘上,这为恢复提供了可能。 对于单个文件,操作很直接。打开debugfs连接设备,用`lsdel`找到被删文件的inode,再用`dump`命令就能将其导出。文章重点在于,当需要恢复成千上万个文件时,如何高效操作。作者演示了通过一条组合管道命令,先利用`lsdel`批量列出删除文件信息,再用grep和awk进行筛选(比如按用户、时间、文件大小),自动生成一个包含大量dump命令的脚本文件`cmd`。最后,一条`debugfs -f cmd`指令就能批量完成恢复,这省去了交互模式下手动生成命令的繁琐。 文章末尾还给出了一个至关重要的安全提示:如果系统有多块磁盘,恢复文件时务必指定保存到另一块磁盘。否则,dump过程写入的数据可能会覆盖掉其他尚未恢复文件的磁盘区域,导致数据永久丢失。