家庭单机Linux误删文件后补救恢复攻略

  作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的。

  1、Ext2文件系统结构的简单介绍

  在Linux所用的Ext2文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在12个块号之后存储一个间接块的块号,在这个间接块号所对应的块中,存储有256个文件数据块的块号(Ext2fs中每个块号占用4字节,这样一个块中所能存储的块号就是">1024/4=256)。如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。

  2、恢复被误删文件的方法

  大多数Linux发行版都提供一个debugfs工具,可以用来对Ext2文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。

  首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/usr分区)

  mount –r –n –o remount /usr -r表示只读方式挂载;-n表示不写入/etc/mtab,如果是恢复/etc上的文件,就加上这个参数。如果系统说xxx partion busy,可以用fuser命令查看一下是哪些进程使用这个分区上的文件:

  fuser –v –m /usr

  如果没有什么重要的进程,用以下命令停掉它们:

  fuser -k –v –m /usr

  然后就可以重新挂载这些文件系统了。

  如果是把所有的文件统一安装在一个大的/分区当中,可以在boot提示符下用linux single进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。另外,恢复出来的数据不要写到/上面,避免破坏那些有用的数据。如果机器上有dos/windows,可以写到这些分区上面:

mount –r –n /dev/hda1 /mnt/had 
然后就可以执行debugfs:(假设Linux在 /dev/hda5) 
#debugfs /dev/hda5 
就会出现debugfs提示符debugfs: 
使用lsdel命令可以列出很多被删除的文件的信息: 
debugfs:lsdel 
debugfs: 2692 deleted inodes found. 
Inode Owner Mode Size Blocks Time deleted 
164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001 
………………………………………………………… 
36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001 
196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001 
debugfs:

  列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。

时间: 2024-08-02 16:53:41

家庭单机Linux误删文件后补救恢复攻略的相关文章

家庭单机Linux误删文件及时补救和恢复

作为一个多用户.多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据.不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的. 1.Ext2文件系统结构的简单介绍 在Linux所用的Ext2文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分.每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息.对于一个

误删文件也能恢复 Windows文件恢复技巧

如果只能使用Windows本身提供的工具,那么我们可以认为清空回收站之后,被删除的文件已经彻底清除了. 不过事实并非如此,只要有专用的硬件和软件,即使数据已经被覆盖.驱动器已经重新格式化.引导扇区彻底损坏,或者 磁盘驱动器不再运转,我们还是可以恢复几乎所有的文件. 一.磁盘如何保存数据要理解如何恢复已删除的数据, 首先要搞清楚磁盘如何保存数据.硬盘驱动器里面有一组盘片,数据就保存在盘片的磁道(Track)上,磁道在盘片上呈同心圆分布,读/写磁头在盘片的表面移动访问硬盘的各个区域,因此文件可以随机

Windows 2000、XP、2003登录密码恢复攻略_密码恢复攻略

一.删除SAM文件,清除Administrator账号密码 二.从SAM文件中查找密码        1.L0phtCrack (LC)        2.LCP        3.SamInside pro 三.用Net User命令恢复系统登陆用户密码 四.用密码重设盘设新密码 五.修改屏保文件法 六.使用软件修改密码 Windows XP 2000 NT Password Recovery Key CleanPwd Offline NT Password & Registry Editor

删除SAM文件,清除Administrator账号密码_密码恢复攻略

删除SAM文件,清除Administrator账号密码     适用系统:Windows 2000     Windows 2000所在的Winnt\System32\Config下有个SAM文件(即账号密码数据库文件),它保存了Windows 2000中所有的用户名和密码.当你登录的时候系统就会把你键入的用户名和密码.与SAM文件中的加密数据进行校对,如果两者完全符合,则会顺利进入系统,否则将无法登录,因此我们可以使用删除SAM文件的方法来恢复管理员密码.     用Windows PE.Ba

构建高安全电子商务网站:Linux服务器iptables规则列表全攻略

服务器的安全性,一直是网站的首要考虑的任务.针对安全性有多种多样的解决方案.Linux服务器防火墙,最常用到的当然要数iptables防火墙.iptables是Linux上常用的防火墙软件,规则也非常灵活,应该最广泛. 对应要构建高安全电子商务网站,任何一台服务器少不了的安全软件,当然是iptables防火墙.规则灵活多变,功能应该之广泛,这个也是Linux系统管理员首选.iptables表链中每条规则的顺序很重要,如果首条是accept all,那末所有的数据包都会被允许通过firewall,

Linux 误删文件的解决方法

  服务器误删了/usr/bin和/usr/sbin目录,然后,从别的地方拷贝这两个目录过来,发现可能很多是链接等非普通文件,可拷贝的时候对链接的处理不知道应加什么参数,所以,一百多兆的东西拷贝了近一个G;最后,先给tar了一下,在拷贝. 这样,服务器基本弄好,建议: 1.不要直接用root登入,特别是不熟悉的人. 2.建议需要执行root权限命令的使用sudo,少用su; 3.可用visudo来配置需要执行的root权限命令 eg: xxx ALL=/sbin/mount,/sbin/unmo

linux删除文件后没有释放空间解决办法

今天介绍的是一个很实用的工具:lsof.能够查找到正在占用中的进程. centos安装命令: yum -y install lsof 实例可以看看这位仁兄的博客即可.本博客主已经证实真实可靠! 发现当前磁盘空间使用情况:   [root@ticketb ~]# df -h Filesystem            Size  Used Avail Use% Mounted on /dev/sda1             981M  203M  729M  22% / none        

Win7系统误删文件后反复重启的解决方法

  1.如果你删除了一个文件或极少的文件或是你能记住文件名的话,那么可以去健康的能启动的同版本Win7系统中复制这些文件,然后以U盘启动盘启动并在WINPE系统并这些缺少的文件复制一份进去,然后重启基本可以解决问题. 2.如果不记得删除了什么文件,那么基本上只有通过重新安装的方法来解决了,建议使用U盘安装Win7的方法. 注意:建议在安装之前,备份电脑C盘中的重要资料(转移到别的磁盘或先保存在U盘中,装好再拷贝回去). 3.使用Win7安装盘(原版),然后以光盘启动,在安装界面选择"修复计算机&

Excel文档误删后快速数据恢复攻略

硅谷网综合讯 相信很 多人都有这样的经历,可能因为这样那样的原因无意间将原本还需要的数据或文件当作无用的垃圾文件给误删除掉了,前一段时间我就遇到过这样一件事.我一个朋友是公司财务,上星期她不小心把公司上月的一些财务数据Excel表格当作空表给删除了,后来不是急着要用吗,重做 肯定来不及, 于是想到了数据恢复.给数据恢复公司打了几个咨询电话,报价都不菲,而且还得拆下硬盘送去恢复,她一柔软女生哪知道拆硬盘啊,后来还是我帮她想的办法,下载了达思数据恢复软件闪电版成功恢复了数据. 达思数据恢复软件闪电版