首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>linux服务器>正文

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

http://www.oklinux.cn  2008-09-11  OKLinux   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

  如果你在Linux下不小心用rm -rf xxx删除了文件或者整个目录,在ext2文件系统上是可以恢复的。因为文件数据没有被实际删除,只是索引被删除了,文件被误删除之后,应该马上停止创建、修改等文件操作,因为他们有可能会覆盖以前被删除文件所占用的磁盘空间,这样就没办法恢复了。

  如果只有一个文件,那么运行:

  debugfs /dev/sda2; // /dev/sda2是你要查看的设备

  如果你删除了大量的文件,那么操作就很麻烦,如果进入debugfs交互模式,一次只能恢复一个文件,如果被删除了1w个,那基本没法一个一个的操作。debugfs有一个-f参数可以解决这个问题,-f表示可以传入一个命令文件让debugfs来执行。

  先建立一个文件export:
  echo "lsdel" > export;

  然后执行 debugfs -f export /dev/sda2,这时候会输出所有被删除的文件信息,分别为
  Inode Owner Mode Size Blocks Time deleted

  而所有这些不一定是你想要恢复的文件,你可以根据你自己的需要用grep过滤一下,例如我要恢复uid=1用户今天(10号) 12点删除的size不为0的文件,具体操作命令如下:

  debugfs -f export /dev/sda2 | grep ' 1 ' | grep ' 10 12:' | grep -v ' 0 ' | awk '{print "dump <"$1"> "$1".del"}' > cmd

  这样得到了很多dump dst_file_path命令存入cmd文件,然后再调用debugfs -f cmd /dev/sda2就可以恢复想要的文件了。

  如果系统中有多个磁盘,那么恢复文件的时候最好从一个磁盘恢复到另外一个。不然dump的时候,有可能把还没开始dump的inode就覆盖了。


上一篇:Fedora 9初学之解决vsftp无法上传   下一篇:挖掘Web的另类应用(多图)

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Fedora 9初学之解决vsftp无法上传
·Linux(Centos)下PHP的升级
·Linux下pptp做nat,持久连接到另一网络
·Redhat Linux 9.0下安装qmail igenus过程实录
·Linux中ftp目录转移到别的挂接点的方法
·Linux服务器配置笔记:安装Apache与PHP
·Linux做共享上网服务器
·Linux下kill的信号量列表
·Prefetch -加速Linux软件执行速度
·Linux下vsftpd上传文件设置
·Linux邮件服务器Postfix,qmaill,Sendmail之比拼
·基于Linux下的enterchannel(端口绑定)
·Linux vmware时间问题
·vsftp 限制用户切换目录
·Linux下oracle asmlib的使用
·Linux下增加自动执行的命令
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·利用VSFTP架设Linux环境下的FTP服务器
·Linux下安装Apache 2.2.6 笔记
·Linux下的主要VPN技术
·Linux下Samba服务器搭建实例
·用Sendmail在Linux下架设邮件服务器
·2009服务器盘点:再见Sun 再见麦克利尼
·SUSE 10上做VPN服务器
·在Ubuntu 9.10中打造带tdbsam Backend
·Ubuntu服务器上SSH Server 的安装配置
·Nginx 禁止某个 User_Agent 的方法
·Linux-Apache-MySQL-PHP网站架构方案分
·Nginx 对某些 User_Agent 进行限速的方
  阅读排行
·Linux系统下架设APACHE SVN服务器全过
·Linux下用vsftp轻松搭建FTP服务器(修订
·Ubuntu下安装tftp服务器的步骤
·Linux 下配置vsftp虚拟用户总结
·详解远程SHELL下安装配置RedHat ES 5的
·Linux下安装eclipse与myeclipse
·Linux DNS Server -bind 9.5.0 安装配
·Linux与Linux,Linux与Windows之间使用S
·Ubuntu上搭建SVN服务器全攻略
·LVS集群学习笔记(NAT\DR\IP tunnel)
·Linux下tomcat启动jvm内存设置
·Linux shell 中FTP实现自动下载上传文
·安装大型Linux集群(4):节点安装和 GPFS
·Linux系统下架设PPTP VPN服务器
·Linux系统中下查看内存的方法
网摘收藏: