2018最新linux云计算集群架构师-第一阶段-Linux操作系统入门到精通-第5章-Vim编辑器和恢复ext4下误删除的文件-Xmanager工具-ext4文件系统组成-extundelete工具安装

ext4文件系统组成-extundelete工具安装

#执行不成功的
rm -Rf /    

rm: 在"/" 进行递归操作十分危险

rm: 使用 --no-preserve-root 选项跳过安全模式

#这个可以执行成功。
rm -rf /*    

ext4文件系统上删除文件,可以恢复: extundelete ,ext3恢复使用:ext3grep

windows恢复误删除的文件:  final data v2.0 汉化版  和  easyrecovery

 

扩展

Linux文件系统由三部分组成:文件名,inode,block

windows也由这三部分组成。

a.txt          -->inode              --> block

文件名       存放文件元数据信息       真正存放数据

#查看文件文件名
cp /etc/passwd a.txt
ls a.txt

#查看inode号:
#常识: 每个文件,有一个inode号。
ls -i a.txt

#查看inode中的文件属性;  通过stat命令查看inode中包含的内容
#查看inode信息
stat a.txt
ls -l a.txt

block块:真正存储数据的地方

逻辑删除:

为什么删除比复制快?

 

误删除文件后,第一件事要做什么???  你不心删除把存了几十年的大片删除了。

避免误删除的文件内容被覆盖。 如何避免?

卸载需要恢复文件的分区或以只读的方式挂载

 

1.实战:在ext4文件系统上恢复被误删除的文件

下载extundelete

http://sourceforge.net/    开源软件发布中心

准备测试分区:

#创建一个sda4分区
fdisk /dev/sda  

#WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
#         switch off the mode (command 'c') and change display units to
#         sectors (command 'u').

#查看现有分区表
Command (m for help): p   

#创建一个新分区
Command (m for help): n   

#Command action
#   e   extended
#   p   primary partition (1-4)
#创建一个主分区
p

#Selected partition 4
#First cylinder (1428-2610, default 1428): 
#Using default value 1428

#指定分区大小
Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): +1G  

#保存
Command (m for help): w  

#重启
reboot

#或者

#获得新分区表
partx -a /dev/sda

 

扩展

如果在根下删除文件了,想恢复,怎么办?

方法1: 立即断电,然后把磁盘以只读方式,挂载到另一个电脑中进行恢复

方法2:把extundelete在虚拟机上(虚拟机系统要和服务器版本一样),提前安装好后再复制到U盘中,把U盘插入服务器,恢复时,恢复的文件要保存到U盘中,(不要让恢复的数据写到/下,那样会覆盖之前删除的文件) 

 

使用新的分区表

#创建挂载点
mkdir /tmp/sda4

#格式化     
mkfs.ext4 /dev/sda4 
   
#挂载
mount /dev/sda4 /tmp/sda4/   

 

复制一些测试文件,然后把这些文件再删除,然后演示恢复:

cp /etc/passwd /tmp/sda4/
cp /etc/hosts /tmp/sda4/
echo aaa > a.txt
mkdir -p /tmp/sda4/a/b/c
cp a.txt /tmp/sda4/a/
cp a.txt /tmp/sda4/a/b/
touch /tmp/sda4/a/b/kong.txt

安装 tree 命令

rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm
tree /tmp/sda4/

#结果如下
/tmp/sda4/
├── a
│   ├── a.txt
│   └── b
│       ├── a.txt
│       ├── c  #空目录
│       └── kong.txt  #空文件
├── hosts
├── lost+found
└── passwd

删除文件

cd /tmp/sda4/
ls
rm -rf a hosts passwd

误删除文件后,第一件事要做什么???

如何避免误删除的文件内容被覆盖???

卸载需要恢复文件的分区:或以只读的方式挂载

cd /root
umount /tmp/sda4

  

  

 

posted on 2019-12-24 18:06  herisson_pan  阅读(16)  评论(0)    收藏  举报

导航