原理:在Linux系统的/proc 分区下保存着进程的目录和名字,包含fd(文件描述符)和其下的子目录(进程打开文件的链接),那么如果删除了一个文件,还存在一个 inode的引用:/proc/进程号/fd/文件描述符。我们只要知道当前打开文件的进程pid和文件描述符fd就能利用lsof工具列出进程打开的文件。一、将 ls 的手册过滤掉主要控制符后重定向到文件ls.txt 中,并用more查看,CTRL + Z 暂停查看操作 1: [root@localhost script]# man ls |col -b > ls.txt 2: [root@localhost script]# more ls.txt 3: LS(1) User Commands LS(1) 4: 1: [1]+ Stopped more ls.txt 2: [root@localhost script]# 3: [root@localhost script]# jobs 4: [1]+ Stopped more ls.txt 5: 二、假设误删文件 ls.txt 1: [root@localhost script]# rm ls.txt 2: rm:是否删除 一般文件 “ls.txt”? y三、利用lsof找到进程、并拷贝恢复,只能在这个文件被使用或调用的情况下有效3: [root@localhost script]# lsof |grep ls.txt 4: more root 3r REG ,0 /opt/script/ls.txt (deleted) 5: 1: [root@localhost script]# ls -l /proc//fd/ 2: 0 1 2 3 3: [root@localhost script]# ls -l /proc//fd/3 4: lr-x------ 1 root root - : /proc//fd/3 -> /opt/script/ls.txt (deleted) 5: 1: cp /proc//fd/3 ls.txt.saved
推荐整理分享Linux下利用Lsof恢复误删文件的方法(linux怎么恢复数据),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:linux怎么恢复数据,linux可以恢复到初始化吗,linux怎么恢复出厂,linux 恢复命令,linux 恢复命令,linux 恢复命令,linux恢复,linux 数据恢复,内容如对您有帮助,希望把文章链接给更多的朋友!
禅道系统迁移到linux平台 用户无法登录问题的解决 问题原因:linux对于大小写是敏感的,所以才会出现点击登录没有反映的情况。解决办法:1.让mysql忽略大小写(懒人做法,存在弊端)1vim/etc/my.cnf2#在[my
Linux操作系统下SSH默认端口修改方法 第1步:假如要限制通过SSH登陆Linux的IP,那么可以如下做:首先:修改/etc/hosts.deny,在其中加入sshd:ALL,注意不能加#号然后:修改:/etc/hosts.allow,在其中
linux vi 操作笔记 vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。vi(vim)命令繁多但是如果使用灵活之后将会大大提高效率。vi是visualinterface的缩写