https://zhidao.baidu.com/question/213248989.html
Linux系統(tǒng)下不小心使用rm命令刪除的文件能有辦法恢復(fù)嗎?10
Linux系統(tǒng)下不小心使用rm命令刪除的文件能有辦法恢復(fù)嗎?
有什么辦法或者用什么命令?
辛苦一下午寫的程序打算用mv重命名的,不知道怎么的用了rm,好可憐!
行吟詩人1986|瀏覽 24058 次問題未開放回答|舉報(bào)
推薦于2017-09-22 04:16:05
最佳答案
linux的文件被rm刪除是可以通過linux自帶的文件恢復(fù)工具debugfs來進(jìn)行恢復(fù),但是只能恢復(fù)ext2文件系統(tǒng)的文件,不能恢復(fù)ext3文件系統(tǒng)的文件。
1,首先查看需要恢復(fù)的文件所在的文件系統(tǒng)
命令行模式下輸入指令mount
1
2
3
4
[xuwangcheng14@root]#?mount
/dev/xvda1on?/typeext2?(rw,errors=remount-ro)
proc?on/proctypeproc?(rw,noexec,nosuid,nodev)
sysfs?on/systypesysfs?(rw,noexec,nosuid,nodev)
由上知,/dev/xvda1掛載在/下,即根目錄,且文件系統(tǒng)是ext2
2,將要找回的文件所在的分區(qū)重新掛載成只讀(因?yàn)檫@樣比較安全,可以防止因新的文件寫入該分區(qū)而導(dǎo)致無法找回文件)
1[xuwangcheng14@root]#??mount?-n?-o?remount,ro?/dev/xvda1
如果不能重新掛載,那么一定有用戶正在使用該分區(qū)中的文件,我們可以使用指令:fuser -m -v /dev/xvda1來查看當(dāng)前哪個(gè)用戶正在使用該分區(qū)中的文件,然后使用fuser -k -m -v /dev/xvda1來殺死用戶使用該分區(qū)的任何進(jìn)程。
3,使用debugfs工具恢復(fù)文件
1
2
3
[xuwangcheng14@root]#?debugfs?/dev/xvda1
debugfs?1.42?(29-Nov-2011)
debugfs:??lsdel
進(jìn)入debugfs模式后輸入lsdel后可以看到被刪除的文件信息
stat顯示某個(gè)節(jié)點(diǎn)所對應(yīng)的文件信息,
恢復(fù)文件使用dump 文件路徑。
如果被刪除的文件很多,那么通過lsdel可看出文件的時(shí)間,然后自己判斷進(jìn)行恢復(fù)。