情景,ubuntu下把NTFS格式的盘中的“实习记”文件夹彻底删除了,追毁莫及,粗心觉不是一件好的事情。

linux下回复ntfs盘下的文件不能用ext3grep,而使用debugfs命令实在很原始。

万幸所有记录文件的文件名都是:【实习记】2014-0****.txt

最后使用ntfsundelete + chown + chmod + sed 完美恢复刚才删除是所以TXT文件。

0、
sudo umount 该ntfs盘

1、
sudo apt-get install ntfs-3g
直接安装ntfsundelete是不行的,它被包含于ntfs-3g中,也包含于ntfsprogs(源中已弃用此包)

2、
sudo ntfsundelete /dev/sda3 -f -t 3m | grep 实习记 | awk '{print $1}' > ntfsundelete.txt
获取所有要恢复的文件的inode值,然后使用vi编辑使inode组成"881,2341,234,..."文本。
3m表示3个月以内生成并删除的,而不3个月内删除的意思。

3、
sudo ntfsundelete /dev/sda3 -d /home/wilson/tmp/ -u -i 881,2341,234,....
恢复inode为881,2341,234等的文件。

5、
cd /home/wilson/tmp
chown wilson:wilson *
chmod a+r *
for fn in *.txt; do sed -i 's/\x00//g' $fn; done;
恢复后文件属主为root,权限为600, 需修复。
恢复后的文件一般末尾有多余的\x00,使用sed也可以替换,一开始没想到。

6、
#enjoy it
恢复文件位置

参考
[教学]在Ubuntu中恢复NTFS分区中被ubuntu误删除的文件(windows软件无法恢复的ubuntu中能恢复!
http://forum.ubuntu.org.cn/viewtopic.php?t=158497

Linux下恢复ntfs格式的盘上的误删文件
http://nyc1991.blog.51cto.com/6424159/1216592

Linux文件误删除恢复操作
http://jingyan.baidu.com/article/2f9b480d6c2bcd41cb6cc223.html

使用 Linux 文件恢复工具
http://www.ibm.com/developerworks/cn/linux/1312_caoyq_linuxrestore/

在Linux下使用vim配合xxd查看并编辑二进制文件
http://www.cnblogs.com/killkill/archive/2010/06/23/1763785.html

sed 可以修改二进制文件?
http://www.zhihu.com/question/19703679

 
 

【实习记】2014-09-26恢复linux下误删的ntfs盘中的文件的更多相关文章

  1. 恢复Linux下被误删除的文件(笔记)

    恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [root ...

  2. linux下使用split 来分割大文件

    linux下使用split 来分割大文件 2010-07-27 15:46:27|  分类: 技术文稿 |  标签:split  分割  linux   |字号 订阅   平常都是使用ssh来进行远程 ...

  3. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  4. Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50

    Linux下查找包含BOM头的文件和清除BOM头命令 2014-08-16 12:30:50 分类: 系统运维 查找包含BOM头的文件,命令如下: 点击(此处)折叠或打开 grep -r -I -l ...

  5. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  6. linux下c通过虚拟地址映射读写文件的代码

    在代码过程中中,把开发过程中比较好的一些代码片段记录起来,如下的代码内容是关于 linux下c通过虚拟地址映射读写文件的代码,应该对小伙伴有些好处.#include<stdio.h>#in ...

  7. Linux下简单粗暴使用rsync实现文件同步备份【转】

    这篇来说说如何安全的备份,还有一点不同的是上一篇是备份服务器拉取数据,这里要讲的是主服务器如何推送数据实现备份. 一.备份服务器配置rsync文件 vim /etc/rsyncd.conf #工作中指 ...

  8. linux下误删数据文件恢复

    linux下文件被删除能够用非常多工具进行恢复.比如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext ...

  9. 在Linux下误删文件后恢复【转】

    针对日常维护操作,难免会出现文件误删除的操作.大家熟知linux文件系统不同win有回收站,删除后的文件可以到垃圾箱寻回,要知道linux文件修复比较费劲,网络上面的文档也是五花八门.所以本次研究一种 ...

随机推荐

  1. 最简单实现跨域的方法:用 Nginx 反向代理

    本文作者: 伯乐在线 - 良少 .未经作者许可,禁止转载!欢迎加入伯乐在线 专栏作者. 什么是跨域 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对javascrip ...

  2. flot图插件使用

    <div id="budget-charts"></div> <script src="../../../plugins/ace/js/fl ...

  3. NLog使用说明

    NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码. NLog允许我们自定义从跟踪消息的来源(source)到记录跟踪信息的目标(target)的规则 ...

  4. ios8 关于UIAlertController 代替UIActionsheet

    self.alertController=[UIAlertController alertControllerWithTitle:@"请选择\n\n\n\n\n\n\n\n\n\n\n\n\ ...

  5. php连接oracle数据库(linux)(转)

    php连接访问Oracle是用过oci函数,以下是整理的文档 1.安装Apache和php包 yum install -y httpd php* 2.下载Oracle组件 oracle-instant ...

  6. 嵌入式Qt4.7.1安装详解

    嵌入式Qt 4.7.1安装移植过程详解环境:Ubuntu 12.04VMware 9.0 qt软件包:qt-everywhere-opensource-src-4.7.1.tar.gz (飞凌自带) ...

  7. 在含有null值的复杂类的集合(Collection)中取最大值

    在日常编程中,经常遇到要在一组复杂类的集合(Collection)中做比较.取最大值或最小值. 举个最简单的例子,我们要在一个如下结构的集合中选取包含最大值的元素: public class Clas ...

  8. arcmap10如果判断一个面是否含洞

    使用字段计算器,使用python !Shape.isMultipart!结果为true就是,false不是

  9. iOS CocoaPods自动管理第三方开源库

    最近在开发中发现在项目中使用了好多第三方库,然而第三方更新的时候本地却不能及时更新.然而CocoaPods则可以管理第三方依赖包的更新,这些“体力活”会被节省好多时间,下面介绍一下CocoaPods的 ...

  10. tomcat中设置多项目共享jar;类包

    随着服务器上的tomcat部署的项目越来越多,最近在部署一个新的项目的时候出现内存溢出的错误 Exception in thread "main" java.lang.OutOfM ...