说明:不一定有效,需要不断尝试

一、lsof

文件刚刚被删除,想要恢复,先尝试lsof.
lsof |grep data.file1
cp /proc/xxx/xxx/xx /dir/data.file1
如果lsof不能看到文件,那么就需要使用恢复软件进行恢复。
要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。
umount  /dev/part

mount -o remount,ro /dev/part
删除一个文件,就是将文件inode(inode 是操作系统寻找文件的目录,起到索引作用),节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中。但是这些被删除的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,这些被删除的数据就会被覆盖。因此要立刻卸载分区。

二、ext3grep

sudo apt-get install ext3grep  

参考资料[4]中对这个工具的使用有比较详细的说明过程。然而,正如参考资料[5]所言,这个工具只适合于ext3文件系统的,而新版本的Ubuntu系统一般都使用ext4文件系统,因此需要使用其它工具,如extundelete

三、extundelete

sudo apt-get install extundelete  

使用这个工具,我成功的恢复了使用rm命令误删的文件。关于这个工具的使用方法,可见参考资料[7]。下面简单记录一下回复过程。

sudo extundelete /dev/sda1 --restore-all  

说明:/dev/sda1是误删文件所在的分区。我的误删的文件原来在/home/liyihai里面的子目录中,而这个目录挂载于/dev/sda1分区(使用df -h命令查看)。

执行上面命令后,会在当前目录中生成一个名为RECOVERED_FILES目录,并且将恢复的文件放到这个目录中。

根据参考资料[7]的说明,所恢复的文件会被改名,因此需要根据文件的内容,使用grep命令找出您想要的文件。

四、/casper/filesystem.squashfs

这个是Ubuntu光盘特有的文件,将解压缩的光盘文件夹下面/casper/filesystem.squashfs文件拷贝出来到一个单独的文件夹

cd到刚拷贝出来filesystem.squashfs所在文件夹,然后打开终端输入

unsquashfs filesystem.squashfs

回车执行

上一步执行完会生成一个squash-boot文件夹,然后在里面寻找你所误删的系统文件即可,在哪个目录下删除的就在对应目录下找

参考

[1]linux下如何恢复rm命令删除的文件

[2]linux rm文件恢复总结
[3]Linux使用笔记: 实用ext3grep恢复目录及文件指南(ext3文件系统)

[4]ubuntu中用ext3grep恢复ext3文件系统中误删的文件

[5]问题:如何在 ext4 分区下恢复删除的文件

[6]Linux下数据误删除不再是恐怖的事情,ext3grep帮你恢复

[7]ext4分区中恢复被删除的文件

[8]恢复Linux ext4分区上误删除的文件

[9]【Linux】Linux系统 ext4格式 删除文件恢复:extundelete

https://www.cnblogs.com/jikexianfeng/p/7349275.html(以上内容部分转自此篇文章)

http://blog.csdn.net/weiguang1017/article/details/52239685(以上内容部分转自此篇文章)

https://www.jianshu.com/p/f5558050acb1(以上内容转自此篇文章)

Ubuntu 16.04使用rm -rf误删文件恢复方法收集的更多相关文章

  1. 树莓派Ubuntu 16.04 MATA系统 修改用户文件夹名后,提示configure it with blueman-service

    自从修改了树莓派的Ubuntu 16.04 MATA 系统的 /home/ 下的用户文件夹名后,使用vncserver远程操作,看到桌面每次都提示 Configured directory for i ...

  2. Ubuntu 16.04没有/etc/default/rcS文件的UTC设置选项的问题解决

    继续上一篇文章介绍了CentOS的时钟设置:http://www.cnblogs.com/EasonJim/p/8111747.html,大致的知道了BIOS在Linux的时区设置. 而现在关心的问题 ...

  3. ubuntu恢复rm -rf误删文件

    使用extundelete工具 sudo apt-get install extundelete 恢复操作命令 首先需要umount或者read only 分区  umount /dev/partit ...

  4. Ubuntu 16.04 安装ftp服务器传输文件

    最近在搞深度学习,老师比较宝贝他的服务器,要求我以后负责管理服务器.往后所有要使用服务器的人都必须向我申请账号,然后只允许客户端访问,使用文件传输软件传输文件.像我这样一个linux菜逼,这种要求不是 ...

  5. 使用垃圾桶机制防止rm -rf误删文件

    偶然看到一个比较好用的工具Trash-Cli.一个类似垃圾桶的机制,可以恢复文件.试了一下,感觉还行 (1)下载安装: https://github.com/andreafrancia/trash-c ...

  6. Ubuntu 16.04下使用Wine安装文件内容搜索工具Search and Replace

    说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 下载: (链接 ...

  7. Ubuntu 16.04下使用Wine安装文件比对工具Beyond Compare 4

    说明: 1.使用的Wine版本是深度出品(Deepin),已经精简了很多没用的配置,使启动能非常快,占用资源小. 2.关于没有.wine文件夹的解决方法:在命令行上运行winecfg: 下载: (链接 ...

  8. Ubuntu 16.04+GTX970 黑屏无法安装解决方法

    参考http://www.linuxidc.com/Linux/2017-01/139318.htm http://blog.sciencenet.cn/blog-655584-877622.html ...

  9. Ubuntu 16.04 - 64bit 解压 rar 报错 Parsing Filters not supported

    Ubuntu 16.04 - 64bit  解压rar 文件报错: 错误如下图: 原因: 未安装解压命令 unrar 参考博客: Error - "Parsing Filters not s ...

随机推荐

  1. 小程序根据input输入,动态设置按钮的样式

    [需求]实现当手机号已填写和协议已勾选时,“立即登录”按钮变亮,按钮可点击:若有一个不满足,按钮置灰,不可点击:实现获取短信验证码,倒计时提示操作:对不满足要求内容进行toast弹窗提示. <v ...

  2. session超时设置+超时页面跳转

    session超时设置,方法有三种: (1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(600);参数600单位是秒,即在没有10分钟活动后,sessio ...

  3. 51Nod 2006 飞行员配对(二分图最大匹配)-匈牙利算法

    2006 飞行员配对(二分图最大匹配) 题目来源: 网络流24题 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 第二次世界大战时期,英国皇家空军从沦陷国 ...

  4. 【Foreign】朗格拉日计数 [暴力]

    朗格拉日计算 Time Limit: 10 Sec  Memory Limit: 128 MB Description Input Output 仅一行一个整数表示答案. Sample Input 5 ...

  5. iconv 转化编码

    basename dirname   使用以下命令,无法处理同名文件: grep "charset=utf-8"  filelist_iconv.txt  | awk -F':' ...

  6. JAVA开发环境及其开发

    成功安装之后,进行测试是否真的成功安装,点击[开始]----[运行]----输入 CMD,在命令提示符里面输入"Java -version"并按回车键,出现下图,即为安装成功. 选 ...

  7. [ Python - 7 ] 简单的省份查询系统

    主要是练习while 循环和 if 条件判断的使用 #!_*_coding:utf-8_*_ # Author: hkey def options(list): for i, v in enumera ...

  8. ubuntu下使用AutoKey实现ARK的自动跑/攻击/自动配种

    脚本1: if not store.has_key("ark_run"): store.set_value("ark_run", 1) keyboard.pre ...

  9. Codeforces 1023 A.Single Wildcard Pattern Matching-匹配字符 (Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Fi)

    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final) A. Single Wildcard Patter ...

  10. Codeforces 626 B. Cards (8VC Venture Cup 2016-Elimination Round)

      B. Cards   time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...