在linux系統中使用rm -rf刪除檔案後,其實檔案只是從磁碟中移除,檔案內容還是在系統後台等待**,此時可以使用系統程序號將檔案考貝出來,內容不會有更改。
1.刪除乙個檔案
[root@iz62f427er8z logs]# ll access.log
-rw-r--r-- 1 root root 11723908 jun 14 16:02 access.log
[root@iz62f427er8z logs]# rm -rf access.log
2.檢視檔案在後台的程序
[root@iz62f427er8z logs]# lsof | grep delete | grep access
nginx 1212 root 9u reg 202,1 11723908 274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
nginx 12953 www 9w reg 202,1 11723908 274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
nginx 12954 www 9w reg 202,1 11723908 274125 /usr/local/nginx-1.4.7/logs/access.log (deleted)
[root@iz62f427er8z logs]#
3.將檔案從程序中複製到磁碟上
[root@iz62f427er8z logs]# cp /proc/12953/fd/9 . #12953是程序號,9是檔案描述符
[root@iz62f427er8z logs]# du -sh 9
12m 9
[root@iz62f427er8z logs]# cat 9 #檔案內容看到了
Linux下rm rf 後恢復檔案
2011年11月15日08 17 慧聰it網 在linux系統下,如果你不小心誤刪除了乙個檔案價或檔案,如rm rf 而 資料夾下有非常重要的資料,因為這個命令意味著一旦刪除的檔案是無法挽回的,事實是如此嗎?真的沒有補救措施了嗎?答案是委婉了,在一定的條件下可以補救,大家可能熟悉windows下刪除...
如何使用lsof命令恢復刪除的檔案
在linux檔案系統中,檔名實際是指向索引節點 inode 的鏈結。linux建立檔案系統後,就會生成inode表,inode索引節點會包含檔案的屬性 block塊的指標等資訊關於inode介紹看我這篇博文。當使用 rm 命令刪除某檔案時,只是刪除了指向inode索引節點的鏈結,但是沒有刪除inod...
如何使用lsof恢復誤刪除的檔案
檔案實際上是乙個指向inode的鏈結,inode鏈結包含了檔案的所有屬性,比如許可權和所有者,資料塊位址 檔案儲存在磁碟的這些資料塊中 當你刪除 rm 乙個檔案,實際刪除了指向inode的鏈結,並沒有刪除inode的內容.程序可能還在使用.只有當inode的所有鏈結完全移去,然後這些資料塊將可以寫入...