共 1 篇文章

标签:Linux误删怎么办?详解rm rf找回方法 (linux rm -rf 找回)

Linux误删怎么办?详解rm rf找回方法 (linux rm -rf 找回)

在使用Linux操作系统时,误删文件或目录是一件常见的事情。尤其是在使用rm命令时,如果加上了-rf参数,就会彻底删除整个文件夹及其所有的文件。这时候,我们怎么才能找回这些被误删的文件呢?本文将详细介绍Linux误删的解决方法。 一、误删原理 在理解找回误删文件的方法之前,首先需要了解误删的原理。在Unix或Linux系统中,所有的文件和目录都有自己的inode号码和block号码。inode是一个索引节点,每个文件或目录都有一个唯一的inode号,inode中记录了该文件或目录的所有属性信息(如文件大小、权限、创建时间、修改时间等)。而block是文件或目录实际存储的地方,每个文件或目录都可以有多个block号。当我们删除一个文件或目录时,只是删除了它的inode号码,并没有真正删除磁盘上的数据块。只有在新的数据占据了这些block才会覆盖原有的数据。所以,如果我们能够找到被删除的inode号码,就可以通过inode号码找到文件或目录对应的block号,进而恢复被误删的文件。 二、准备工作 在实现误删文件的找回,首先需要准备一个备份设备,该设备应有足够的容量,能够存放误删的文件。我们可以使用外接硬盘、USB闪存盘、网络存储设备等作为备份设备。 三、通过命令找回误删文件 1. 使用find命令 find命令可以在指定目录以及其子目录中查找符合条件的文件。我们可以通过以下命令查找被删掉的文件: “` find / -inum inode_number -print “` 其中/inum是指定要查找的目录(包括子目录),inode_number是被误删除文件的inode号码。执行该命令后,会输出所有inode号码为inode_number的文件路径。如果找到了被删除的文件,那么可以通过一个管道符号‘|’将其传输到另一个命令中,如cp命令,将文件复制到备份设备中: “` find / -inum inode_number -print | xargs cp /path/to/backup/folder “` 2. 使用debugfs命令 debugfs是一个Linux文件系统内部数据结构调试和维护工具。它可以查看inode和block的详细信息,包括路径名、大小、权限等信息。我们可以使用以下命令调用debugfs: “` debugfs /dev/sdaX “` 其中/dev/sdaX是指被误删除文件所在的设备名和分区号码。输入以上命令后,可以进入debugfs的命令行模式。在此模式下,我们可以通过以下命令查找被删除文件的inode号码: “` lsdel “` 该命令会列出所有被删除的inode号码,找到被误删的文件所对应的inode号码后,可以通过以下命令进行恢复: “` #创建一个新文件夹,用来存放误删的文件 mkdir /path/to/recovered/folder #将被误删文件的inode号码所在的block读取到新的文件中 debugfs -R ‘dump /path/to/recovered/folder/filename’ /dev/sdaX “` 其中,‘’和‘/path/to/recovered/folder/filename’分别为被误删文件的inode号码和新文件的路径和名称。 四、通过工具找回误删文件 1. extundelete extundelete是一个帮助用户恢复被删除文件的工具,它可以恢复以ext2、ext3或ext4文件系统格式的磁盘中的被删除文件。使用该工具的前提是文件所在分区没有被深度格式化或覆盖。可以通过以下命令安装extundelete: “` sudo apt-get install extundelete “` 使用该工具的命令格式如下: “` extundelete /dev/sdaX –inode –restore-file “` 其中/dev/sdaX是指文件所在的设备和分区号码,和分别是被删除文件的inode号码和文件名。 2. TestDisk TestDisk是一个免费的开源数据恢复软件,它可以恢复各种文件系统格式(如ext2、ext3、ext4、FAT、NTFS等)的被删除文件、分区表、引导记录等。使用该工具的命令格式如下: “` sudo testdisk /dev/sdaX “` 其中/dev/sdaX是指文件所在的设备和分区号码。执行后会进入一个交互式界面,引导用户选择需要查找的分区、选择需要恢复的文件、选择恢复的目标位置等。TestDisk提供了丰富的恢复手段,用户可以按自己的需要进行操作。 五、 相关问题拓展阅读: 笔记本电脑双系统在linux根目录下执行了rm -rf /*重装Windows系统后部分设备无法识别怎么恢复? 在linux系统下用rm命令误删了一个文件,怎样才能恢复这个文件? 如何恢复linux下被rm后的文件 笔记本电脑双系统在linux根目录下执行了rm -rf /*重装Windows系统后部分设备无法识别怎么恢复? 如果你这么干,如果是有boot分区,那么他也会被删除了, 而他也是windows需要的(win7以后),或滑所以怕是win也引导不好基到了, 但是你可以做重装,然后它也会被恢复。 部分友团谨设备无了,那么看你rm的时候,是不是在mount的,是的话,它也会清除掉的。, 在linux系统下用rm命令误删了一个文件,怎样才能恢复这个文件? 1、先要进行重启ubuntu,随即长按shirft进入grub菜单,这时候注意的是再进行选择recovery mode,按”段顷敬e”键进入编辑页面,如下图所示。 2、然后这时候注意的是就会进入恢复模式的,然后就是要将要找回的文件所在的分区重新挂载成只读,如下图所示。 3、接着就是将ro recovery nomodeset注意的是乎袭进行替换为”rw single init=/bin/bash” ,然后就是要这时候注意的是按ctrl+x进入单用户模式,这握慎时候就可以看到当前用户即为root即可。 4、最后要按ctrl+x 启动,这时候就会进行进入root的shell环境,然后就可以恢复文件了,如下图所示。 如何恢复linux下被rm后的文件 linux的文件被rm删除是可以通过linux自带的文件恢复工具debugfs来进行恢复,但是只能恢复ext2文件系统的文件,不能恢复ext3文件系统的文件。 1,首先查看需要恢复的文件所在的文件系统 命令行模式下输入指令mount # mount /dev/xvda1 on / type ext2 (rw,errors=remount-ro) proc on /proc...

技术分享