用 lsof 恢复 误删除文件实验:
先模拟一个进程:
[tiger@root:/home/tiger]$ echo "hello deletede" >> test.txt
[tiger@root:/home/tiger]$ cat >> test.txt
模拟恢复实验:
[tiger@root:/home/tiger]$ lsof | grep test.txt
cat 2982671 tiger 1w REG 253,2 15 2673 /home/tiger/test.txt
[tiger@root:/home/tiger]$ rm test.txt
rm: remove regular file `test.txt'? y
[tiger@root:/home/tiger]$ lsof | grep test.txt
cat 2982671 tiger 1w REG 253,2 15 2673 /home/tiger/test.txt (deleted)
[tiger@root:/home/tiger]$ cd /proc/2982671/fd/1
-bash: cd: /proc/2982671/fd/1: Not a directory
[tiger@root:/home/tiger]$ cd /proc/2982671/fd
[tiger@root:/proc/2982671/fd]$
[tiger@root:/proc/2982671/fd]$ ll
total 0
lrwx------ 1 tiger tiger 64 Jan 27 02:12 0 -> /dev/pts/1
l-wx------ 1 tiger tiger 64 Jan 27 02:12 1 -> /home/tiger/test.txt (deleted)
lrwx------ 1 tiger tiger 64 Jan 27 02:12 2 -> /dev/pts/1
[tiger@root:/proc/2982671/fd]$ cd 1
-bash: cd: 1: Not a directory
[tiger@root:/proc/2982671/fd]$ cat 1
hello deletede
[tiger@root:/proc/2982671/fd]$ cp 1 /home/tiger/test.txt
[tiger@root:/proc/2982671/fd]$ ls -lrt | grep test.txt
l-wx------ 1 tiger tiger 64 Jan 27 02:12 1 -> /home/tiger/test.txt (deleted)
[tiger@root:/proc/2982671/fd]$ cat 1
hello deletede
[tiger@root:/proc/2982671/fd]$ cat 1 > /home/tiger/test.txt
[tiger@root:/proc/2982671/fd]$ ls -lrt | grep test.txt
l-wx------ 1 tiger tiger 64 Jan 27 02:12 1 -> /home/tiger/test.txt (deleted)
[tiger@root:/proc/2982671/fd]$ ll /home/tiger
total 32
-rwxr-x--- 1 tiger tiger 147 Jan 4 09:45 def.py
-rw-r----- 1 tiger tiger 42 Jan 18 06:19 hello.txt
-rwxr-x--- 1 tiger tiger 142 Jan 4 03:43 if.py
-rwxr-x--- 1 tiger tiger 346 Jan 20 07:40 open.py
-rwxr-x--- 1 tiger tiger 179 Jan 20 08:00 os.py
-rwxr-x--- 1 tiger tiger 112 Jan 20 07:41 sort.py
-rw-r----- 1 tiger tiger 15 Jan 27 02:15 test.txt
-rwxr-x--- 1 tiger tiger 410 Jan 26 06:27 try.py
[tiger@root:/proc/2982671/fd]$ cat test.txt
cat: test.txt: No such file or directory
[tiger@root:/proc/2982671/fd]$ cat test.txt
cat: test.txt: No such file or directory
[tiger@root:/proc/2982671/fd]$ cat /home/tiger/test.txt
hello deletede

lsof恢复误删文件的更多相关文章

  1. eclipse如何恢复误删文件

    刚刚真的要吓死宝宝了,不是说宝宝心里素质差,是因为刚刚误删的文件实在是太重要了,废话不多说了,正题 如何恢复eclipse误删的文件 1,当时被误删了,可立即 Ctrl+z 即可恢复误删文件; 2,时 ...

  2. 【转载】恢复误删文件--DOS命令应用实例(一)

    <电脑爱好者>报转载第一辑第二篇之恢复误删文件--DOS命令应用实例(一)                             恢复误删文件--DOS命令应用实例(一) 上期我们讲述了 ...

  3. Linux下恢复误删文件:思路+实践

    周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题, ...

  4. Linux-Rhel6 恢复误删文件

    需要工具extundelete(可通过xshell上传下载到linux)知识点:ifconifig eth0             查看ipfdisk /dev/sda          管理磁盘m ...

  5. git恢复误删文件及省去密码提交

    自己遇到这种情况:自己将某文件在网页的控制面板上直接删除了,再pull下来.或者一个成员误删除了某个文件,然后push到远程库了,其他成员也都pull了,结果就是所有人的本地库当前版本中这个文件都不见 ...

  6. 如何有效恢复误删的HDFS文件

    HDFS是大数据领域比较知名的分布式存储系统,作为大数据相关从业人员,每天处理HDFS上的文件数据是常规操作.这就容易带来一个问题,实际操作中对重要数据文件的误删,那么如何恢复这些文件,就显得尤为重要 ...

  7. Ubuntu 16.04使用rm -rf误删文件恢复方法收集

    说明:不一定有效,需要不断尝试 一.lsof 文件刚刚被删除,想要恢复,先尝试lsof. lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.fil ...

  8. ubuntu中恢复rm命令误删文件

    步骤: 1.对于文件系统为ext3文件系统 使用命令:sudo apt-get install ext3grep. 对于文件系统为ext4文件系统 使用sudo apt-get install ext ...

  9. Linux 利用进程打开的文件描述符(/proc)恢复被误删文件

    Linux 利用进程打开的文件描述符(/proc)恢复被误删文件 在 windows 上删除文件时,如果文件还在使用中,会提示一个错误:但是在 linux 上删除文件时,无论文件是否在使用中,甚至是还 ...

随机推荐

  1. 【九度OJ】题目1018:统计同成绩学生人数 解题报告

    [九度OJ]题目1018:统计同成绩学生人数 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1018 题目描述: ...

  2. 【LeetCode】11. Container With Most Water 盛最多水的容器

    作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 个人公众号:负雪明烛 本文关键词:盛水,容器,题解,leetcode, 力扣,python ...

  3. 【剑指Offer】反转链表 解题报告(Python)

    [剑指Offer]反转链表 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目描 ...

  4. Pikachu漏洞练习-SQL-inject(持续更新)

    本来在bup中repeater模式可以多次测试,但不知为何总是出错 这里把我们想查询的数据库和版本进行联合查询,放包,页面回显数据库名称和版本分别为pikachu,5.7.26 数据库版本大于5那么i ...

  5. Jenkins+Sonar质量门禁【实践篇-maven版】

    Jenkins+Sonar质量门禁[实践篇-maven版] 配置文档百度挺多的,就不展开来了 首先很遗憾的告诉大家,maven版做不了质量门禁!只能扫描!!!     就我们公司项目里,jenkins ...

  6. .NET+Sqlite如何支持加密

    .NET+Sqlite如何支持加密 Sqlite SQLite 来源于公共领域 SQLite Is Public Domain. 确保代码不会受到任何专有或许可内容的污染,没有任何来自互联网上的未知来 ...

  7. [git]初始化项目文件到git分支

    将本地和远程仓库关联并push本地项目 1.VCS -> import into Version Control  ->  Create Git Repository 选择项目文件   2 ...

  8. MySQL数据库基础(3)DDL和DML

    一.使用DDL定义数据库和表结构 结构化查询语言:(Structured Query Language,SQL)是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,专用于存取数据以及查询.更新和 ...

  9. 自学java,如何快速地找到工作

    本人最近一直在帮零基础的java开发者提升能力和找工作,在这个过程中,发现零基础的java程序员,在自学和找工作时,普遍会出现一些问题,同时在实践过程中,也总结出了一些能帮零基础java开发尽快提升能 ...

  10. MATLAB m文件编译错误之错误使用slCharacterEncoding

    错误提示: 错误使用 slCharacterEncoding (line 51) Close all block diagrams (using 'bdclose all') before tryin ...