首先,lsof 这个命令超级强大,它能列出当前系统所有打开的文件和进程。你可以用 root 权限在终端输入 lsof | grep deleted,它会列出所有已经被删除但进程还在访问的文件。如果你幸运地找到了你误删的文件,就可以通过 /proc 目录恢复。比如,找到文件对应的进程号 PID,输入 cp /proc/PID/fd/文件描述符 恢复路径,就...
1、查看要恢复文件的分区的文件系统 df -Th 2、对要恢复文件的分区解除挂载 umount /mnt 3、查看可以恢复的数据 指定误删文件的分区进行查找 最后一列标记为Deleted的文件,即为删除了的文件。 extundelete /dev/vdb1 --inode 2 (根分区的inode值是2) 4、恢复单个目录 指定要恢复的目录名 如果是空目录,则不...
lsof `whichhttpd`//那个进程在使用apache的可执行文件lsof /etc/passwd//那个进程在占用/etc/passwdlsof /dev/hda6//那个进程在占用hda6lsof /dev/cdrom//那个进程在占用光驱lsof -c sendmail//查看sendmail进程的文件使用情况lsof -c courier -u ^zahn//显示出那些文件被以courier打头的进程打开,但是并不属于...
删掉文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆盖,数据其实还在硬盘上,关键在于找出索引点,然后将其所指数据块内的数据抓出,再保存到另外的分区。在用rm误删除文件后,我们要做的第一件事就是保证不再向误删文件的分区写数据。 使用lsof命令恢复 lsof命令用于查看你进程开打的文件,打开文件...
下面我们来进行文件的恢复,执行下文中的lsof命令,在其返回结果中我们可以看到test-recovery.txt (deleted)被删除了,但是其存在一个进程tail使用它,tail进程的进程编号是1535。 $ lsof | grep test-recovery.txt;tail1535 kafka 3r REG 253,2 26 34095906 /home/kafka/testdel/test-recovery.txt (deleted) ...
当前场景下,如果想要恢复这个文件,可以执行如下的指令,搜索“deleted"的文件,可以看到存在一条记录,我们能知道这个进程的PID是13213,FD是1, [oracle@app ~]$ lsof |grepdeletedcat13213oracle1w REG253,8381358/home/oracle/test.txt (deleted) 我们进入/proc/PID(13213)/fd(1...
# 使用lsof查看此文件 sudo lsof | grep answer.cmd tail 14107 ubuntu 3r REG 253,16 21 4718627 /data/poc/script/answer.cmd (deleted) # 说明: 可以看出14107占用着此文件, 文件描述符为3r, 并且状态为(deleted). 然后我们可以去相应proc文件夹下查看 ...
三、利用lsof找到进程6511、并拷贝恢复,只能在这个文件被使用或调用的情况下有效 3: [root@localhost script]# lsof |grep ls.txt 4: more 6511 root 3r REG 253,0 7300 1083699 /opt/script/ls.txt (deleted)5:1: [root@localhost script]# ls -l /proc/6511/fd/ 2: 0 1 2 3 3: ...
(1)使用 lsof 命令查看当前是否有进程打开 /root/selenium/Spider/MySql.Data.dll文件: > lsof | grep /root/selenium/Spider/MySql.Data.dll 从上面可以看出,当前文件状态为已删除(deleted)。 (2)查看是否存在恢复数据: /proc/13067/fd:进程操作的文件描述符目录。
命令查看这个目录,文件已经不存在了,那么现在我们将其恢复出来。 1、lsof查看删除的文件进程是否还存在 这里用到一个命令lsof,如没有安装请自行yum或者apt-get。类似这种情况,我们可以先lsof查看删除的文件是否还在: 登录后复制[root@21yunwei_backup ~]# lsof | grep deleted登录后复制mysqld1512mysql5uREG252,3063...