linux误删除了文件

简介:
 昨天又看了一下Linux文件系统方面的资料,想到一个问题,就是误删除了文件应该是可以恢复的,
本想写一个这方面的共享软件,今天google了下,已经n多这方面的资料和工具了... ...
  余又可以偷懒了...转载自google搜索出的结果,所有权利归作者,如有侵犯权利,请mail至maxpassion@gmail.com,当即刻删除。
   以下为转载内容:

如果你不小心误删除了一个重要的文件,如rm -rf kkk ,而kkk是你的一个非常重要的文件,你肯定非常痛苦,这时你千万不能惊慌,应该马上停止向你的硬盘写入任何文件。它完全是可以恢复的。(我这里专门针对 ext2文件系统写了如下的内容,其它的文件系统也有办法,我以后在写):
#debugfs /dev/hda1(被删除文件所在的分区)
debugfs:lsdel
就可列出你最近被删除文件的inode表,大致如下:
Inode Owner Mode Size Blocks Time deleted
依此是节点表号,属主,文件属性(即读、写等),大小,block(一般1block=1K),被删除时的时间。有了这些信息,你应该能很快就判断出那个文件是你想恢复的。这时用
debugfs:dump <你想恢复的inode表值> /home/directory(到那个目录)
OK!就这么简单,在/home/directory中可以找到它。
当然,如果你的文件很多,这样做一个一个的肯定很麻烦,你可以下载一些工具。我这里给个地址:
http://revocer.sourceforge.net/linux/recover 。
各位,去试试吧,有什么困难可以根我联系。

多谢老兄,这是弟兄们最想要的。
兄弟在实践过程中,出现这样的信息,不知道如何处理。请老兄指教。
311543 0 100600 7603556 14/ 14 Wed Oct 2 18:39:21 2002
586046 0 100644 7044 2/ 2 Wed Oct 2 18:51:50 2002
760593 0 100600 363 1/ 1 Wed Oct 2 18:53:35 2002
9551 deleted inodes found.
debugfs: dump 311543
dump: Usage: dump_inode [-p] <file> <output_file>
debugfs: dump 311543 /root
311543: File not found by ext2_lookup
debugfs:
兄弟想恢复311543这个,因为我是在/root目录下删除了一个文件,我看了就是311543这个,但用下面命令恢复,就出现了如上的提示, 不知如何下手。请老兄助兄弟一力。

你应该这样的.

debugfs:dump <311543> /root/ppp(随便什么文件名).
你再试试.

成功了没?

我现在在windows下,而我的linux是JFS的.恢复比较方便.等会我切到LINUX再建一个ext2系统,我以前试过,应该肯定是可以的.



老兄厉害,服了,一下就OK了。。。。
现在兄弟有一个疑问:我删除的是一个.tar.gz文件,但恢复完成后,却不能用
#tar zxvf *tar.gz来解压了。
另外就是如何才能恢复成原来那样的文件名,比如我删除的是wine.tar.gz,但事先我记不得这个具体的文件名是什么的了,但我还想恢复成原来的文件名,比如我删除了系统中重要的文件,但我又不记得它是什么样的文件名了,但这个文件名对系统来说又是极为重要的,比如/usr/bin下的 mozilla。我该如何做呢??

哈哈。这个也好办。

主要是要知道原因。先回答简单的。要知道文件名用:
debugfs:ls -d 就可以了。
至于文件不能用,是因为dump下来的是连续块,而你的文件可能不是连续块。
用debugfs:stat <inode>可以看它的状态,原后将他们一一dd下来(当然有工具可以省不少力气)。
算了,我还是写一个详细的教程吧。(大家不要心急啊。过几天见,国庆我可是导游啊!)




明天还要去。只有晚上空一点。
我发现e2fsprogs1.29版的比较好用,用它来恢复文件较好,建议升级。另外,使用工具的话,建议使用mc, 下载地址为 http://www.gnome.org/projects/mc/ .今天我用google搜索了一下(关键词 rm linux recover how ),发现网上的教程其实很多。缺少的是一些原理的分析部分(其实学过汇编及unix系统的兄弟应该很清楚才对),我过几天就补充讲一下。









本文转自 jxwpx 51CTO博客,原文链接:http://blog.51cto.com/jxwpx/212237,如需转载请自行联系原作者
目录
打赏
0
1
1
1
234
分享
相关文章
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
17 2
Linux|Transfer.sh 轻松实现文件共享
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
66 34
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
608 5
Linux文件查找新姿势:总有一种你没见过
【10月更文挑战第18天】文件查找是Linux用户提升工作效率的重要技能。本文介绍了几种实用的文件查找方法,包括基础的`find`命令、快速的`locate`和`mlocate`、高效的`fd`工具、以及结合`grep`和`rg`进行内容搜索。此外,还提供了编写Shell脚本和使用图形界面工具的建议,帮助你更灵活地管理文件。
122 3
|
13天前
|
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
35 14
|
8天前
|
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
20 3
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
99 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
3月前
|
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
337 14
|
3月前
|
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
185 6
|
3月前
|
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
545 6
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等