在linux系统下用rm命令误删了一个文件,怎样才能恢复这个文件?

有人说用脚本可以实现?哪位高手可以帮我写个这样的脚本?或是其他方法?... 有人说用脚本可以实现?哪位高手可以帮我写个这样的脚本?或是其他方法? 展开
 我来答
阑珊处的野狗
高粉答主

2019-11-12 · 关注我不会让你失望
知道答主
回答量:562
采纳率:0%
帮助的人:14.8万
展开全部

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环境,然后就可以恢复文件了,如下图所示。  


kaixingui2012
推荐于2017-09-11 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6325万
展开全部

作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。所以,基本上就无法恢复该文件了。

如果磁盘上的数据没有被覆盖,如:个人学习用机,则可通过debugfs命令找到原文件所在磁盘块,采用dd命令读取相应的磁盘数据达到恢复文件的目的:

  • 先确认所删除文件所在物理磁盘:df -v 输出结果中”Mounted on“列出的文件系统中找到自己的文件系统,查看”Filesystem “列对应的磁盘卷,假设为/dev/sda1

  • 运行debugfs

    • open /dev/sda1

    • ls -d 被删除文件名全路径

    • #显示有<>尖括号的就是我们要找的文件Inode号, 执行

    • logdump –I <XXX>

    • #在输出中找到 Blocks: (0+1): YYYY

    • quit

  • 运行dd命令:

    • dd if=/dev/sda1 of=/tmp/del.txt.rev bs=4096 count=1 skip=YYYY

如果以上过程中,找不到被删除的文件块,则无法完成恢复。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-26
展开全部
实际上用ROOT误删了 ,很难。。 也听说过这样的工具。不过好像没有用。我在虚拟机测试过。都找不到了!
LINUX 与WIN,分区机制不同!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-26
展开全部
用testdisk软件看看,多找找恢复软件看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-26
展开全部
用你的linux盘 进行恢复。就可以。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式