Linux中如何巧妙恢复被进程锁定的已删除文件
本文于 9 天前发布,最后更新于 9 天前

一、模拟场景

(1)编写脚本test_del.sh,并执行

脚本内容

#!/bin/bash

while true; do

  sleep 10000000

done

(2)删除执行中的脚本

[root@dameng linuxscript]# rm test_del.sh 
rm: remove regular file 'test_del.sh'? yes
[root@dameng linuxscript]#

二、恢复过程

(1)查看进程状态

[root@dameng linuxscript]# lsof | grep -i delete | grep test_del.sh
test_del. 85885                    root  255r      REG              253,1         52     524386 /root/linuxscript/test_del.sh (deleted)
  • test_del:进程名
  • 85885:进程号

(2)寻找进程文件

[root@dameng linuxscript]# cd /proc/85885/fd

如图

图中能够看到对应deleted状态的程序(闪烁)。

(3)恢复进程文件

[root@dameng fd]# cat 255 >~/linuxscript/test_delv2.sh
[root@dameng fd]# ll ~/linuxscript/test_delv2.sh 
-rw-r--r-- 1 root root 52 Dec 13 10:06 /root/linuxscript/test_delv2.sh

(4)查看恢复的脚本文件

[root@dameng fd]# cat ~/linuxscript/test_delv2.sh
#!/bin/bash

while true; do

  sleep 10000000

done

恢复的脚本文件和初始执行的脚本文件一致,恢复文件成功。

暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇